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 に答える