1

我犯了一个错误,从http://mysite.comhttp://www.mysite.com为同一个站点提供服务,并允许两者都使用 OpenID 登录。www 和非 www 的领域是不同的。

当最初从 www.mysite.com 登录的用户尝试从 mysite.com 登录并且未找到令牌被提示创建新帐户时,我遇到了问题。

我计划修复服务器端以始终重定向到 www。网站的版本,但是如何合并来自非 www 网站的令牌?

我可以使用返回的电子邮件进行检测,但在某些情况下,用户更改了他们的电子邮件,所以我不知道他们的 Gmail 帐户要匹配什么。

4

1 回答 1

0

这就是我所做的:

我向之前注册过 Google 的所有用户发送了一封电子邮件,并向他们发送了一个修复所有问题的链接。

该链接包含一个安全哈希,并会自动登录并重定向到帐户关联页面。这样,将创建一个新的正确的 Google 关联。使用后链接失效。

如果用户没有看到电子邮件,我还为所有将电子邮件作为标识符的 Google OpenID 用户创建了一个额外的关联条目,因此现在他们有 2 个 Google 关联,一个散列关联和一个电子邮件关联。

这样做的唯一会被排除在外的用户是那些使用 Google OpenID 注册并将他们的电子邮件地址更改为与他们的 Google 帐户提供的不同的东西的用户。所以电子邮件是给他们的。

于 2012-06-04T06:48:01.717 回答