点击/ auth / complete / url时“缺少必要的参数状态”?

时间:2017-07-31 13:44:21

标签: python django

我正在使用Python社交身份验证和自定义后端。到目前为止,这是我的代码:

from requests import HTTPError
from social.backends.oauth import BaseOAuth2
from social.exceptions import AuthFailed

class MyOAuth2(BaseOAuth2):
    #testing OAuth authentication backend
    name = 'testing'
    AUTHORIZATION_URL = 'https://<my_drupal_oauth2_server>/oauth2/authorize'
    ACCESS_TOKEN_URL = 'https://<my_drupal_oauth2_server>/oauth2/token'
    SCOPE_SEPARATOR = ','
    STATE_PARAMETER = 'False'
    REDIRECT_STATE = 'False'
    EXTRA_DATA = [
        ('id', 'id'),
        ('expires', 'expires'),
    ]

def get_user_details(self, response):
    #Return user details from test account
    return {'username': response.get('login'),
            'email': response.get('email') or '',
            'first_name': response.get('name')}

#def user_data(self, access_token, *args, **kwargs):
#    #Loads user data from service

这是我第一次尝试使用自定义后端实现OAuth2设置 - 首次尝试编写一个。

OAuth2服务器可与Google的OAuth2游乐场配合使用。然而,我的django应用程序(Open EDX)正在抛出错误。

如果我手动将?state=xyz添加到网址,我会收到另一个错误:

  

会话值状态缺失

我已经搜索了关于这两个错误的良好信息,并且我找不到根本原因可能是什么,以及解决方案。

0 个答案:

没有答案