将OpenId字段保存到数据库 - 它们的类型/长度是多少?

时间:2008-12-07 11:27:26

标签: sql-server openid

我想将一些OpenId字段保存到数据库表中,例如

  • OpenId标识符
  • 姓名
  • 别名
  • 电子邮件
  • 等。

是否有一个地方可以总结所有常见架构字段的数据类型和长度?我知道有自定义的(每个提供商)..但是常见的是什么?

EG。电子邮件 - > nvarchar(250)..或其他什么。

欢呼:)

3 个答案:

答案 0 :(得分:5)

OpenID标识符在技术上可以与合法URL一样长(实际上大约2K),但我认为150个字符是最好的。

顺便提一下确定将声明的标识符存储为主键(或等效的查找列),而不是用户提供的标识符或您在身份验证过程中可能看到的任何其他变体。此外,为了确保安全,您需要在URL的路径上进行区分大小写的比较(您可以在主机区域中不区分大小写)。由于区分大小写问题很复杂,我只是将主机规范化为小写,然后对整个字符串进行区分大小写的比较。

答案 1 :(得分:1)

对电子邮件使用常识。我从未见过超过40-50个字符的电子邮件地址。任何较长的地址,可能是垃圾邮件或假邮件。

编辑:查看电子邮件RFC,电子邮件地址的最大长度可能是64(用户名)+ 1('@'字符)+ 255(域名)。无论如何,我的最大长度仍然是100或更少。

答案 2 :(得分:0)

请参阅OpenID Simple Registration Extension 1.0

  

openid.sreg.email:指定的最终用户的电子邮件地址         [RFC2822]第3.4.1节。