使用python social auth时不显示登录错误页面
我正在使用(python social auth的一部分)为Django站点的用户实现Facebook登录。我有一个要求,用户必须在本地用户数据库中找到,然后才能登录Facebook。我已替换身份验证管道的auth_-allowed部分,以执行此检查:使用python social auth时不显示登录错误页面,python,django,python-social-auth,Python,Django,Python Social Auth,我正在使用(python social auth的一部分)为Django站点的用户实现Facebook登录。我有一个要求,用户必须在本地用户数据库中找到,然后才能登录Facebook。我已替换身份验证管道的auth_-allowed部分,以执行此检查: def auth_allowed(backend, details, response, *args, **kwargs): if not backend.auth_allowed(response, details) or not is
def auth_allowed(backend, details, response, *args, **kwargs):
if not backend.auth_allowed(response, details) or not is_registered_user(response, details):
raise AuthForbidden(backend)
其中已注册\u user()
是一个自定义函数,用于检查用户是否在本地存在
我的问题是如果此检查失败并引发authProbidden
异常,则不会将用户重定向到登录错误URL。相反,该站点返回一个500
错误页面URL在settings.py中配置如下:
LOGIN_ERROR_URL = "/"
我正在使用Django CMS,因此我也尝试实现中间件,该中间件覆盖SocialAuthExceptionMiddleware
(在标准设置中应该处理AuthForbidden
异常),以返回CMS页面,而不是settings.py中的URL,但在此过程中不会调用此中间件,据我所知
有没有办法解决这个问题?我是否缺少一些配置?我想我解决了问题:我不小心使用了
social.apps.django_app.middleware.SocialAuthExceptionMiddleware
而不是
social_django.middleware.SocialAuthExceptionMiddleware
当提到异常处理中间件时。这个bug很可能是在不久前从
django-social-auth
升级到python-social-auth
/social-app-django
时引入的。我想我解决了这个问题:我不小心使用了
social.apps.django_app.middleware.SocialAuthExceptionMiddleware
而不是
social_django.middleware.SocialAuthExceptionMiddleware
当提到异常处理中间件时。该漏洞很可能是在不久前从django-social-auth
升级到python-social-auth
/social-app-django
时引入的