2012-01-31 23 views
1

谷歌返回特定用戶的以下聲明ID爲我的境界http://localhost:59674Google ID有效字符的範圍是多少?

https://www.google.com/accounts/o8/id?id=AItOawlikYtWr5FCO2mzN1ydORX5S4NFZg1H2Y4

我需要整個字符串唯一標識一個用戶谷歌?是否足夠,如果我只是採取查詢字符串的id部分,即所有後「?id =」?

我的下一個問題是:「?id =」之後可能的字符範圍是什麼?它會一直是[A-Za-z0-9]嗎?

謝謝。

回答

0

是的,您需要爲每個用戶存儲整個聲明的標識符(請確保您的用戶表對此列是區分大小寫的!)。

此URL中允許的字符集合是任何unreserved URL character,所以它絕對可以不僅僅是字母數字。這意味着,我相信,unicode字符也可能出現在URL中。儘管出於安全原因,瀏覽器通常將這些字符顯示爲轉義字符,但原始URL本身無需轉義這些字符。

+0

謝謝。下一個問題自然會是OpenId能夠維持多久? – 2012-02-01 14:27:11

+0

最大長度可悲的是沒有記錄。但是人們通常可以假設的最大URL長度實際上是2K左右(略小)。所以如果你允許多達2000個字符,你絕對沒問題。除此之外,你至少應該檢查Google和Yahoo的匿名標識符是否足夠長。 – 2012-02-02 03:44:27