我们正在开发一个依赖于PSA(0.2.1)的项目,用于使用google oauth2(离线)进行身份验证。不知怎的,我们丢失了一些用户的刷新令牌,我们想强制这些用户重新认证,这样我们就可以从谷歌获得新的刷新令牌
我们都试过了:
social.pipeline.disconnect.allowed_to_disconnect
删除SOCIAL_AUTH_DISCONNECT_PIPELINE
后,我们也没有例外,但是当用户重新进行身份验证时,谷歌回应中没有refreh_token 任何想法都将受到高度赞赏。
更新:我们尝试使用{% url 'account:social:begin' 'google-oauth2' %}?approval_prompt=force&next=/
强制某些用户(包含丢失的令牌)的approval_prompt,但它似乎对google oauth没有影响。
由于
答案 0 :(得分:5)
使用此设置可以解决问题:
SOCIAL_AUTH_GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS = {
'access_type': 'offline',
'approval_prompt': 'force'
}
上的用例示例