私はFacebookのログインを使ってユーザーを特定しました。新しいユーザーが来たとき、自分のユーザーIDを自分のデータベースに保存します。次回彼らが来るとき、私は自分のFacebook IDを認識し、自分のデータベースにどのユーザーがいるのか知っています。Google OAuth2ユーザーを特定するにはどうすればよいですか?
今、私はGoogleののOAuth2で同じことをしようとしていますが、どのように私は、ユーザーを認識することができますか?
Googleがしかし、それらのどれもが一定ではない、私にいくつかのコードとトークン(access_tokenは、id_token、refresh_token)を送信します。 2分後にログアウトして再度ログインすると、3つの値がすべて変更されたことを意味します。ユーザーを一意に識別するにはどうすればよいですか?
私は彼らのPHPクライアントライブラリを使用しています:https://code.google.com/p/google-api-php-client/
Googleは最近レスポンスを変更しており、 'id_token'には以前のようなキー' id'の代わりにキー 'sub'の静的識別子が含まれていることに注意してください。 AFAIKでは、この変更はOpenID Connectプロトコルの解釈です。残念ながら、私がこれを書いているように、応答は多少ランダムであるように見えます。時には 'id'と時には' sub'ですので、両方をサポートする必要があります。 –