2011-07-17 40 views
2

大多數OpenID庫都要求你輸入一個域名作爲OpenID。是否有可能將198.51.100.1這樣的IP地址設爲OpenID而不是auth.example.com將IP地址作爲OpenID有效嗎?

+0

你能否解釋多一點?你在這裏和*一起工作是什麼意思?如果可能,請描述一個場景。 – hari

+0

我不明白爲什麼這不起作用。 –

回答

0

我假設,當你說「作爲OpenID」你的意思是「作爲用戶提供的OpenID標識符」。

如果是這樣,然後回答儘可能短:是的,但這並不是最好的主意。

龍答案: 的OpenID 2.0規範定義了用戶提供的OpenID標識符應當是有效的XRI或URI [1],所以在進入http://1.2.3.4/應導致有效正常化,發現和驗證,在URI作爲IP被認爲是一個有效的URL就RFC3986 [2]而言。

這就是說你要考慮幾件事情:

  1. IP地址發生變化,你也許會說,這是堅實的,但它不是(例如,在一些將來你將不得不切換到IPv6,然後你會鬆散訪問您使用此類IP OpenID進行身份驗證的所有站點)。使用基於域的OpenID,您只需將您的域指向新的IP即可。
  2. 提供OpenID(依賴方)的網站在規範化之前執行OpenID標識符驗證。遲早你會偶然發現一個不會驗證IP爲有效的OpenID標識符。

參考文獻:

  1. http://openid.net/specs/openid-authentication-2_0.html#normalization
  2. http://www.ietf.org/rfc/rfc3986.txt