我想节省一些的OpenID领域到数据库表,如将OpenId字段保存到数据库 - 它们的类型/长度是什么?
- OpenID标识符
- 全名
- 别名
- 电子邮件
- 等。
有没有总结所有常用模式字段的数据类型和长度的地方?我知道有定制的(每个提供商)..但常见的是什么?
例如,电子邮件 - > nvarchar(250)..什么的。
干杯:)
我想节省一些的OpenID领域到数据库表,如将OpenId字段保存到数据库 - 它们的类型/长度是什么?
有没有总结所有常用模式字段的数据类型和长度的地方?我知道有定制的(每个提供商)..但常见的是什么?
例如,电子邮件 - > nvarchar(250)..什么的。
干杯:)
一个OpenID标识符在技术上可以是一个合法的URL(实际上大约2K),但我认为150个字符是一个好的最大值。
顺便提一下是确定将声明标识符存储为主键(或等效查找列),而不是用户提供的标识符或您可能在身份验证过程中看到的任何其他变体。另外,为了确保安全,您需要对URL路径进行区分大小写的比较(您可以在主机区域不区分大小写)。由于区分大小写问题很复杂,我只是将主机标准化为小写,然后对整个字符串进行区分大小写的比较。
使用电子邮件的常识。我从未见过超过40-50个字符的电子邮件地址。任何更长的地址,可能是垃圾邮件或虚假地址。
编辑:看电子邮件RFC,电子邮件地址的最大长度可以是64(用户名)+ 1( '@' 字符)+ 255(域)。无论如何,我仍然会选择100或更少的最大长度。
参见OpenID Simple Registration Extension 1.0:
openid.sreg.email:最终用户的电子邮件地址,如[RFC2822]的 3.4.1节指定。
@ Friol:你从哪里得到这个信息?链接?有没有任何描述openid模式的标准文档? – 2008-12-07 11:42:23
维基百科有一些链接到RFC和简要说明:http://en.wikipedia.org/wiki/E-mail_address#RFC_specification – 2008-12-07 16:48:03