Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python social auth时不显示登录错误页面_Python_Django_Python Social Auth - Fatal编程技术网

使用python social auth时不显示登录错误页面

使用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

我正在使用(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_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
时引入的