我正在创建一个使用OpenID身份验证的网站,但我不确定除了标识符之外应该收集哪些字段。
在网站上集成OpenID时还应该考虑什么?
答案 0 :(得分:0)
本网站包含您需要的字段以及应用于将其引入您网站的步骤。
http://www.plaxo.com/api/openid_recipe
基本上,OpenID URL和用户ID。用户标识用于指向用户表,因为单个用户可以拥有多个OpenID。
答案 1 :(得分:0)
除了用户名和电子邮件等,我还会考虑存储:
用户的OpenID,也称为声明的标识符,即来自OpenID提供商的响应中的openid.claimed_id
。 所声称的标识符[...]应该被依赖方用作本地存储用户信息的密钥。 The OpenID 2.0 spec
the OpenID 2.0 Spec中的OpenID端点openid.op_endpoint
。因此,您知道哪个OpenID Provider对用户进行了身份验证。也许将来你会发现一个提供商不是那么值得信赖,然后我认为最好知道,例如, someuser.example.com
已由该提供商进行了身份验证。
领域。声称的ID有时因领域而异。例如,如果您的网站可以在两个或更多领域(例如example.com
和somewhere-else.com
)访问,并且用户使用Gmail登录,则会在{{1}为其分配一个不透明ID }和 example.com
处的另一个 ID(所以她可以更匿名)。您可能想知道用户登录到哪个领域,如果您想将用户的两个somewhere-else.com
和example.com
帐户合并到一个帐户(为此,您可以验证和比较电子邮件地址)。
可能是OP-Local Identifier,以防用户更改其用户提供的标识符。例如,如果用户具有OpenID标识符somewhere-else.com
,但将其更改为username.example.com
,那么我认为OP本地标识符将保持不变(假设用户继续使用相同的OpenID提供程序)。 Terminology.和example.
(我不确定存储这些属性是否有意义。所以我发布了一个问题here。到目前为止,有一个人认为他们不需要存储..)