如何从 OpenID / Google 获取唯一标识符?

7
对于OpenID,在与Google进行身份验证时,返回的已验证URL因不同浏览器、IP地址等而异。 如何从Google的OpenID实现中获取唯一用户标识符?在一台计算机上登录,您可以获得以下内容:https://www.google.com/accounts/o8/id?id=AItOawk......_OESXik 在我的黑莓上使用相同的用户帐户登录,我会得到不同的URL: https://www.google.com/accounts/o8/id?id=AItOawk......_ABIRop 是否应该假设还必须在某个地方进行第三个HTTP调用以唯一标识登录?

1
我总是从谷歌收到相同的标识符(我正在使用https://www.google.com/accounts/o8/id,这个与您使用的一样吗?) - cam
对于特定的实例,如果我在黑莓上登录,ID / URL 与我的笔记本电脑不同 :O - Jé Queue
1个回答

4

谷歌发放每个领域的标识符,只要您登录到相同的网站,您应该会为相同的用户获得相同的标识符。

当然,除非网站的openid实现存在问题,并根据不同的IP或当前会话ID(如果在URL中)发送不同的领域。

尝试在另一个网站(例如stackoverflow)上登录,并检查它是否仍然返回不同的标识符。


1
就是这样!BB默认在任何输入上尝试使用www前缀,因此实现会获取HTTP HOST,修复方法是提供它作为设置参数,而不是从HTTP请求中推断。 - Jé Queue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接