1

我们之前使用的是 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,我可以看到python-social-auth已经注意到并传递?openid.realm=http://www.example.com了GET字符串以及范围等,因为它应该。然而,谷歌似乎没有用 OpenID id 响应。我只得到id_token(以及access_tokenbearer)。

如何让 Google 以用户的实际 openid 响应?

(我可以在 OpenID2.0 到 Google+ 迁移上找到的唯一来自 Google 的文档,似乎更适合他们的 javascript 登录按钮,例如https://developers.google.com/+/api/auth-migration#oid2

编辑:也许 id 以某种方式编码在 中id_token,如果是这样,我该如何解码?

4

0 回答 0