以前は openID 2.0 を使用しており、ユーザーとそれに関連付けられた openid でいっぱいのデータベースがあります。このプロトコルの廃止を考慮して、代わりに Google+ サインインを使用することにしました。
python-social-auth
Django プロジェクトではこれを比較的簡単にしましたが、既存のユーザーの openid を新しい Google サブ ID にマップする方法がわかりません。
追加した
SOCIAL_AUTH_AUTH_EXTRA_ARGUMENTS = {'openid.realm': 'http://www.example.com'}
settings.py に移動すると、必要に応じてスコープなどと共に GET 文字列python-social-auth
をメモして渡していることがわかります。?openid.realm=http://www.example.com
ただし、Google は OpenID ID で応答していないようです。私はid_token
(などと一緒access_token
にbearer
)のみを取得します。
ユーザーの実際の openid で Google に応答させるにはどうすればよいですか?
(OpenID2.0 から Google+ への移行に関して私が見つけることができる Google からの唯一のドキュメントは、 https ://developers.google.com/+/api/auth-migration#oid2 などの JavaScript 署名ボタンに向けられているようです)
編集: ID が で何らかのid_token
方法でエンコードされている可能性があります。