gpt4 book ai didi

Django python-social-auth 重定向失败?

转载 作者:行者123 更新时间:2023-12-05 07:57:36 26 4
gpt4 key购买 nike

我正在将 google 登录添加到我的 django 应用程序中,仅供在我的办公室使用。登录工作正常,但我正在尝试添加更好的错误页面。我在/login/error 写了一个登录错误页面,提供了一些关于出错的信息,但我似乎无法让 django 在需要时显示该页面。

当 gmail 帐户不在我们公司的帐户 (*@myoffice.com) 上或用户拒绝许可时,登录将失败。我希望它重定向到/login/error 但重定向永远不起作用。

我试过添加

SOCIAL_AUTH_LOGIN_ERROR_URL = '/login/error/'
SOCIAL_AUTH_BACKEND_ERROR_URL = '/login/error/'

到我的 settings.py 文件。两者都没有捕捉到我希望通过此页面处理的错误。我可以确认/login/error 工作正常,问题在于获得正确的重定向。

如有任何帮助,我们将不胜感激。

更新:这里有更多代码,因为这不是我希望的那样快速修复

来自settings.py(省略key和secret,更改白名单url)

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'thelibrary',
'home',
'social.apps.django_app.default',
)

AUTHENTICATION_BACKENDS = (
'social.backends.google.GoogleOAuth2',
'django.contrib.auth.backends.ModelBackend',
)


LOGIN_REDIRECT_URL = '/'


SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_DOMAINS = ['example.com']

SOCIAL_AUTH_LOGIN_ERROR_URL = '/login/error/'
SOCIAL_AUTH_BACKEND_ERROR_URL = '/login/error/'

从我要求用户登录的模板

{% if user and not user.is_anonymous %}

Not yet implemented

{% else %}
Welcome guest!
<br />
Please <a href="{% url 'social:begin' 'google-oauth2' %}?next={{ request.path }}">Login with Google</a>
{% endif %}

这是我在请求失败时在控制台中得到的错误输出

[21/Oct/2014 13:44:42] "GET /login/google-oauth2/ HTTP/1.1" 302 0
[21/Oct/2014 13:44:51] "GET /complete/google-oauth2/?state=3YjuxWntctsrg6emGEPfMjzeeP4NSazX&code=4/lobir0Y2ZZnEPnJRE99gjqhjZh2RbwJC2wfCrs5Zy9A.Envfd1PM7OcaXmXvfARQvtiwnetlkgI HTTP/1.1" 500 157344

最佳答案

SOCIAL_AUTH_LOGIN_ERROR_URL 似乎是正确的选择,它对我有用。错误可能出在您的应用程序的其他地方,但如果没有任何代码,则无法分辨。

浏览器被重定向到哪里?

您可以检查您的浏览器开发人员工具以查看网络历史记录(只要确保它不会在重定向/重新加载时被清除)。通读所有请求并尝试了解它们的顺序和失败点可能会给您一些提示。

关于Django python-social-auth 重定向失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26474433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com