有一个使用 Loginza 进行登录和注册的网站。对于它存储身份的每个用户 - 对于谷歌来说,它是:
https://www.google.com/accounts/o8/id?id=AItOawmyGLT0M1aDf_CCysqh2EPhwq5o_avd4EU
例如。
一年来一切都很好,但最近谷歌开始为注册用户返回新的不同身份(没有改变他们的谷歌账户)——所以他们被视为新人。
有人能解释一下为什么会这样吗?我能做些什么来解决这个问题?
有一个使用 Loginza 进行登录和注册的网站。对于它存储身份的每个用户 - 对于谷歌来说,它是:
https://www.google.com/accounts/o8/id?id=AItOawmyGLT0M1aDf_CCysqh2EPhwq5o_avd4EU
例如。
一年来一切都很好,但最近谷歌开始为注册用户返回新的不同身份(没有改变他们的谷歌账户)——所以他们被视为新人。
有人能解释一下为什么会这样吗?我能做些什么来解决这个问题?
您想指定一个“openid.realm”参数。看到这两个
http://openid.net/specs/openid-authentication-2_0.html#realms
https://developers.google.com/accounts/docs/OpenID#Parameters
对于请求参数。它被列为可选,但如果你忽略它(不推荐),我们必须尝试从 return_to 参数中找出领域。
这是来自谷歌文档:
"这个值必须和openid.return_to中定义的域一致。如果没有定义这个参数,谷歌会使用openid.return_to中引用的URL。
在 Google 联合登录页面上使用 realm 的值来向用户识别请求站点。它还用于确定 Google 返回的持久用户 ID 的值。”
如果领域改变,用户的定向标识符将改变。