当标识符没有用户名时,如何识别OpenID用户名?

时间:2011-02-03 06:09:04

标签: openid google-openid

我正在尝试在我的网站上实施openID,并阅读Plaxo和SO上的问题。我目前能够使用库来验证我的用户。但我注意到一些提供商喜欢

我正在尝试实现一个类似于Plaxo的系统,我将在这里建立多对一的帐户关系。但是,我如何区分使用上述openID网址的用户呢?我甚至看到谷歌和谷歌的个人资料分开。那么,如果用户没有提供用户名,或者我应该说独特的openID,他们如何识别用户?

2 个答案:

答案 0 :(得分:3)

OpenID不是为了在提供商上公开用户的“用户名”。您将获得一个经过验证的URL作为其身份,但该URL应被视为不透明字符串。

如果您需要,那么您需要手动提示用户或使用属性交换(两者都不安全,BTW)。

答案 1 :(得分:1)

当你收到openid回复时,会有一个参数“openid.identity”,对每个帐户都是唯一的。它是一个非常长的半随机字符串,因此对显示无用:

https://www.google.com/accounts/o8/id?id=AItOawnlHWwIas84v37...

如果提供了这些属性,您可以尝试基于“昵称”字段或电子邮件地址的本地部分生成可用的可显示用户名。并且最后一种可能性要求用户。