4

我正在尝试在我的网站上实现 openID 并像Plaxo和关于 SO 的问题一样通读。我目前能够使用这些库对我的用户进行身份验证。但我注意到一些供应商喜欢

我正在尝试实现一个类似于 Plaxo 的系统,我将在其中建立多对一的关系。但是如何区分使用上述 openID url 的用户呢?我什至看到有单独的谷歌和谷歌个人资料。那么,在用户不提供用户名或者我应该说唯一的 openID 的情况下,他们如何识别用户?

4

2 回答 2

3

OpenID 的设计目的不是为了在提供者上公开用户的“用户名”。为您提供了一个经过验证的 URL,作为他们的身份,但该 URL 应被视为不透明的字符串。

如果需要,则需要手动提示用户或使用属性交换(两者都不安全,顺便说一句)。

于 2011-02-04T22:29:32.820 回答
1

当您收到 openid 回复时,将有一个参数“openid.identity”,该参数对于每个帐户都是唯一的。它是一个很长的半随机字符串,因此对显示没有用处:

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

如果提供了这些属性,您可以尝试根据“昵称”字段或电子邮件地址的本地部分生成一个漂亮的可显示用户名。最后的可能性是询问用户。

于 2011-02-04T22:37:52.023 回答