我错误地从http://mysite.com和http://www.mysite.com提供了同一个网站,并允许两者都使用OpenID登录。这两个领域都是不同的,www和非www。
当最初从www.mysite.com登录的用户尝试从mysite.com登录并且未找到提示创建新帐户的令牌时,我遇到了问题。
我计划修复服务器端以始终重定向到www。该网站的版本,但我如何合并来自非www网站的令牌?
我可以使用返回的电子邮件进行检测,但在某些情况下,用户更改了电子邮件,因此我无法知道他们的Gmail帐户要进行哪些匹配。
答案 0 :(得分:0)
这就是我所做的:
我之前向所有已注册Google的用户发送了一封电子邮件,并向他们发送了修复所有内容的链接。
此链接包含安全哈希并会自动将其登录,并重定向到帐户关联页面。这样就可以创建一个新的正确的Google关联。使用后,链接无效。
如果用户没有看到该电子邮件,我还为所有将该电子邮件作为标识符的Google OpenID用户创建了一个额外的关联条目,因此现在他们有2个Google关联,一个哈希值和一个电子邮件。< / p>
这样做的唯一用户是那些使用Google OpenID注册并将其电子邮件地址更改为与其Google帐户提供的内容不同的用户。所以电子邮件是给他们的。