openID的最大长度

时间:2009-04-16 02:42:07

标签: openid size

我打算为我正在构建的Web应用程序添加openid支持。我似乎找不到有效openid的最大长度,所以我可以将它存储在我的数据库中。我已经看到一些模糊的引用255,但我宁愿确定。

另外,使用openid作为用户名(推荐)很有用吗?

5 个答案:

答案 0 :(得分:15)

根据OpenId 1.1的规范,Identifier Urls的最大限制为255个字节。见OpenId 1.1 Appendix D: Limits。 Identity Provider和return_to Urls最多可达2047个字节。

请注意,有关限制的此部分已从OpenId 2.0规范中删除。所以现在还不清楚最大长度是多少。

答案 1 :(得分:7)

OpenID是一个URI,因此您受URI的最大长度限制。据我所知,没有限制,但有些浏览器(如Internet Explorer)有限制。

进一步阅读:

http://openid.net/pipermail/general/2008-August/005305.html

答案 2 :(得分:3)

我不会直接使用OpenID作为用户名。只需看看Yahoo为用户提供的OpenID URL,它们就是不可理解的。允许用户选择自己的用户名,理想情况下允许多个OpenID URL与一个用户帐户关联(如Stack Overflow)。

答案 3 :(得分:1)

规范版本2.0中没有官方长度。

您可以将提供的URL散列为唯一的内容(md5或其他一些可重复的哈希),并将其作为更短的字符串存储在数据库中。

至于使用它作为用户名,一个大网址并不漂亮。您可以从回复中提取用户名(SO直接从我的OpenID获取用户名)

答案 4 :(得分:1)

你不应该接受任何超过255的OpenID URL。虽然有可能,许多人可以使用它作为攻击向量来实现SQL注入之类的东西。请查看OWASP AntiSAMY API作为额外保护。