django-allauth(0.54.0)第三方登录跳过中间确认页配置方法
跳过django-allauth第三方登录中间确认页面的配置方法
针对Django 4.2.2 + django-allauth 0.54.0的场景,有两种常用方法实现点击第三方登录按钮直接跳转至平台认证页面,跳过中间确认页:
方法一:修改全局配置(推荐)
在项目的settings.py文件中添加以下配置项:
SOCIALACCOUNT_LOGIN_ON_GET = True
该配置允许通过GET请求直接触发第三方登录流程,绕过默认的POST确认页面。django-allauth默认要求通过POST请求发起第三方登录,因此会显示中间页让用户点击「Continue」提交POST请求;开启此配置后,点击登录按钮的GET请求会直接跳转至对应第三方平台的认证页面。
方法二:修改模板中的登录按钮链接
如果全局配置不满足需求,可直接修改模板里的第三方登录按钮链接:
默认的模板标签调用可能是:
{% provider_login_url 'google' %} {% provider_login_url 'github' %}
修改为添加process='login'参数的形式:
{% provider_login_url 'google' process='login' %} {% provider_login_url 'github' process='login' %}
或者直接使用完整的URL路径:
<a href="/accounts/google/login/?process=login">登录Google</a> <a href="/accounts/github/login/?process=login">登录GitHub</a>
这种方式会直接生成指向第三方平台认证流程的链接,跳过中间确认页。
内容的提问来源于stack exchange,提问作者Parvez Hossen
相关产品推荐
相关产品推荐

