(OpenID)我可以使用ClaimedIdentifier来查找用户吗?

时间:2009-10-08 12:20:00

标签: openid

ClaimedIdentifier会被更改吗?

我打算将ClaimedIdentifier存储为用户数据表中的查找字段。它将来会成为什么问题吗?我有点担心。

例如:

var openid = response.ClaimedIdentifier.ToString();

它给了我价值:“https://www.google.com/accounts/o8/id?id=xxxxxxxx-e-xxxxxxxxxxxxxxxxxxxx

我不太确定使用它来查找数据表中的用户。

非常感谢。

道明。

1 个答案:

答案 0 :(得分:4)

是的!您应该绝对使用ClaimedIdentifier作为用户的持久标识符。您在其中看到的那个长URI是稳定的,也是正确的存储方式。

也就是说,请注意Google使用真正的“定向身份”,这意味着如果您更改了OpenID RP的域名(通常这意味着您的网站的域名),Google将发送不同的所有现有用户的网址。因此,如果您认为您的网站可能会发生这种情况,您可能还希望存储用户的电子邮件地址,以便以后再次关联它们。但这需要您验证电子邮件地址,并且您必须选择您信任哪些提供商的电子邮件(可能只是谷歌和雅虎,并且只有当他们提供以他们控制的域名结尾的电子邮件地址时),yada yada。这是一种痛苦。所以只是不要改变你的域名。 :)