user.user_id()何时使用OpenID身份验证更改App Engine应用程序?

时间:2011-01-21 16:13:35

标签: google-app-engine authentication openid

我有一个使用GAE平台支持vanilla OpenID的应用程序。我使用user_id()作为一个常见的 - 因为我理解不可变 - 用于所有关于用户的内容。

但有时我注意到某些用户的user_id发生了变化。导致用户更改user_id的原因是什么?

1 个答案:

答案 0 :(得分:2)

它不应该改变。你认为它在什么情况下会发生变化?你如何确定它是同一个用户?

另一方面,Google OpenID提供商的行为方式依赖于域名:当用户使用其Google帐户登录时,会生成一个新的自定义OpenID网址,该网址取决于他们登录的域名至。如果您的应用程序存在于多个域上,并对每个域上的用户进行身份验证,那么您将为每个域上的同一用户获取不同的OpenID URL(因此也就是user_id)。

这是Google OpenID提供商工作方式的结果,遗憾的是,除了仅在一个域上投放或要求用户合并其OpenID网址之外,它并没有任何解决方法。