我正在尝试在我的网站上实现 openID 并像Plaxo和关于 SO 的问题一样通读。我目前能够使用这些库对我的用户进行身份验证。但我注意到一些供应商喜欢
我正在尝试实现一个类似于 Plaxo 的系统,我将在其中建立多对一的关系。但是如何区分使用上述 openID url 的用户呢?我什至看到有单独的谷歌和谷歌个人资料。那么,在用户不提供用户名或者我应该说唯一的 openID 的情况下,他们如何识别用户?
我正在尝试在我的网站上实现 openID 并像Plaxo和关于 SO 的问题一样通读。我目前能够使用这些库对我的用户进行身份验证。但我注意到一些供应商喜欢
我正在尝试实现一个类似于 Plaxo 的系统,我将在其中建立多对一的关系。但是如何区分使用上述 openID url 的用户呢?我什至看到有单独的谷歌和谷歌个人资料。那么,在用户不提供用户名或者我应该说唯一的 openID 的情况下,他们如何识别用户?
OpenID 的设计目的不是为了在提供者上公开用户的“用户名”。为您提供了一个经过验证的 URL,作为他们的身份,但该 URL 应被视为不透明的字符串。
如果需要,则需要手动提示用户或使用属性交换(两者都不安全,顺便说一句)。
当您收到 openid 回复时,将有一个参数“openid.identity”,该参数对于每个帐户都是唯一的。它是一个很长的半随机字符串,因此对显示没有用处:
https://www.google.com/accounts/o8/id?id=AItOawnlHWwIas84v37...
如果提供了这些属性,您可以尝试根据“昵称”字段或电子邮件地址的本地部分生成一个漂亮的可显示用户名。最后的可能性是询问用户。