Python-Social-Auth 有时显示 'AuthStateForbidden'

Python-Social-Auth shows 'AuthStateForbidden' sometimes

有时当我尝试登录或注册 Facebook 或 Google 时,它 returns 给我一个错误 AuthStateForbidden 屏幕

但是只是刷新页面或过一会儿再试,它 运行 正确。

我尝试在 Google 开发人员中添加 Google+ API,但 Facebook 也有同样的问题。

有什么想法吗?

提前致谢!

这个问题我也遇到过好几次了。从文档中我们知道:

AuthStateForbidden - The state parameter returned by the server is not the one sent

class AuthStateForbidden(AuthException):
    """State parameter is incorrect."""
    def __str__(self):
        return 'Wrong state parameter given.'

我已经搜索了任何一种解决方案或解决方法,但没有结果。我也试图以某种方式捕获此异常,但这是一个棘手的错误。我不知道如何复制它。

我已经在 python-social-auth 的错误跟踪器中搜索了任何 AuthStateForbidden 的存在,正如我所说 - 没有。此外,目前还有 50 多个未解决的问题。无论如何,可以创建一个 new one.

引发此错误 here

def validate_state(self):
    """Validate state value. Raises exception on error, returns state
    value if valid."""
    if not self.STATE_PARAMETER and not self.REDIRECT_STATE:
        return None
    state = self.get_session_state()
    request_state = self.get_request_state()
    if not request_state:
        raise AuthMissingParameter(self, 'state')
    elif not state:
        raise AuthStateMissing(self, 'state')
    elif not request_state == state:
        raise AuthStateForbidden(self)

here (facebook.py) 调用:

@handle_http_errors
def auth_complete(self, *args, **kwargs):
    """Completes loging process, must return user instance"""
    self.process_error(self.data)
    if not self.data.get('code'):
        raise AuthMissingParameter(self, 'code')
    state = self.validate_state()

并且状态是在 OAuthAuth 中创建的,它实现了 BaseAuth 并且是 BaseOAuth 的父级,它是 FacebookOAuth 的父级等等。 . 几乎不可能遵循此代码。

我希望 guthub issue 将来能解决问题。