我想将一些 OpenId 字段保存到数据库表中,例如
- OpenId 标识符
- 全名
- 别名
- 电子邮件
- ETC..
有没有一个地方可以总结所有常见模式字段的数据类型和长度?我知道有自定义的(每个提供商)..但是常见的呢?
例如。电子邮件 -> nvarchar(250) .. 或其他东西。
干杯:)
我想将一些 OpenId 字段保存到数据库表中,例如
有没有一个地方可以总结所有常见模式字段的数据类型和长度?我知道有自定义的(每个提供商)..但是常见的呢?
例如。电子邮件 -> nvarchar(250) .. 或其他东西。
干杯:)
从技术上讲,OpenID 标识符可以与合法 URL 一样长(实际上大约 2K),但我想说 150 个字符是一个很好的最大值。
顺便说一句,确保将声明标识符存储为主键(或等效的查找列),而不是用户提供的标识符或您可能在身份验证过程中看到的任何其他变体。此外,为了真正安全,您需要对 URL 的路径进行区分大小写的比较(您可以在主机区域不区分大小写)。由于区分大小写问题很复杂,我总是将主机规范化为小写,然后对整个字符串进行区分大小写的比较。
对电子邮件使用常识。我从未见过超过 40-50 个字符的电子邮件地址。任何较长的地址都可能是垃圾邮件或虚假地址。
编辑:查看电子邮件 RFC,电子邮件地址的最大长度可能是 64(用户名)+ 1('@' 字符)+ 255(域)。无论如何,我仍然会选择 100 或更少的最大长度。
openid.sreg.email:[RFC2822] 第 3.4.1 节中指定的最终用户的电子邮件地址。