我打算为我正在构建的Web应用程序添加openid支持。我似乎无法找到有效的openid的最大长度,所以我可以将其存储在我的数据库中。我已经看到了一些模糊的255,但我宁愿确定。openID的最大长度
除了是它使用的OpenID作为用户名(建议)有用吗?
我打算为我正在构建的Web应用程序添加openid支持。我似乎无法找到有效的openid的最大长度,所以我可以将其存储在我的数据库中。我已经看到了一些模糊的255,但我宁愿确定。openID的最大长度
除了是它使用的OpenID作为用户名(建议)有用吗?
一个OpenID是一个URI,所以你通过URI的最大长度的限制。据我所知没有限制,但一些浏览器(如Internet Explorer)有限制。
延伸阅读:
我不会直接使用的OpenID作为用户名。只要看看雅虎提供给用户的OpenID网址,他们都是不可理解的。允许用户选择他们自己的用户名,理想情况下允许多个OpenID URL与一个用户帐户相关联(如Stack Overflow)。
我会将openid存储在与用户数据库不同的表中,因此它将支持多个openid。 – Ruggs 2009-04-16 03:37:53
该规范2.0版本中没有官方长度。
您可以哈希提供到一些独特的(MD5,或其它一些重复的哈希值)的URL,并将其存储在您的数据库为更短的字符串。
至于使用它作为一个用户名,一个大的URL是不漂亮。您可以从响应提取用户名(SO得到了我直接从我的OpenID用户名)
你不应该接受任何的OpenID URL比255更长虽然它是可能的,许多可以用这个作为攻击向量拉关闭SQL注入等功能。查看OWASP AntiSAMY API作为附加保护。
根据OpenId 1.1的规范,Identifier Url的最大限制是255个字节。请参阅OpenId 1.1 Appendix D: Limits。身份提供者和return_to Url可能最多为2047个最大字节。
请注意,关于限制的这一部分已从OpenId 2.0规范中删除。所以目前还不清楚现在的最大长度。
谢谢,这很有用。 – Ruggs 2009-04-16 03:39:23
您的链接指出OpenId 2.0中标识符Uri的最大长度当前未指定。 URL的最大长度也是未指定的,但不同的浏览器有不同的限制。 Internet Explorer目前有最短的限制,2083个字符。 http://support.microsoft.com/kb/208427 – dthrasher 2009-12-23 15:14:51