热门标签:
Q:

Django OAuth2unsupported_grant_type

我试图用django发送一个请求,以便使用OAuth2从我的api获取access_token。 我正在执行这段代码 :

data = {'username': 'admin', 'password': '123123', 'grant_type': 
'password','client_id': 'xxx','client_secret': 'xxx'}
headers = {'content-type': 'application/x-www-form-urlencoded'}
r = requests.post(url, data=data, headers=headers)

当我发送这个请求时,我得到这个错误 :

{'错误':'不支持_grant_type'}

谢谢你的帮助!

原网址
A:

如果有人有兴趣,正确的要求是 :

    payload = "grant_type=password&client_secret=xxx&client_id=xxx&username=username&password=password"
    headers = {
        'content-type': "application/x-www-form-urlencoded",
        'cache-control': "no-cache",
    }

    response = requests.request("POST", url, data=payload, headers=headers)

所有回答

共 2 条

author avatar

如果您不想在url中编码数据,可以将其放在设置中。

OAUTH2_PROVIDER = {                                                                                                                                                                      
    'OAUTH2_BACKEND_CLASS': 'oauth2_provider.oauth2_backends.JSONOAuthLibCore',                                                                                                          
}
author avatar

我有同样的问题,后来我发现grant类型应该是一个字符串。

payload = {'grant_type': 'refresh_token', 'refresh_token': refresh_token}

相似问题