大多数OpenID库要求您输入域名作为OpenID。它是有效的/可能有一个IP地址像198.51.100.1
作为OpenID而不是auth.example.com
?
我假设当你说"作为OpenID"时,你的意思是"作为用户提供的OpenID标识符"。
如果是,那么回答尽可能简短:是,但这样做不是最好的主意。
长答:OpenID 2.0规范定义了用户提供的OpenID标识符应该是有效的XRI或URI[1],因此输入http://1.2.3.4/应该导致有效的规范化,发现和认证,因为在URI中的IP被认为是一个有效的URL,就RFC3986[2]而言。
也就是说你必须考虑几件事:
- IP地址改变,你可能会声称这是可靠的,但它不是(例如,在某些未来,你将不得不切换到IPv6,然后你将失去访问所有的网站,你使用这样的IP OpenID进行身份验证)。使用基于域的OpenID,你所要做的就是将你的域指向新的IP。
- 提供OpenID的站点(依赖方)在标准化之前执行OpenID标识符验证。迟早你会偶然发现一个不会将IP验证为有效的OpenID标识符。
引用:
- http://openid.net/specs/openid-authentication-2_0.html正常化
- http://www.ietf.org/rfc/rfc3986.txt