小编Mar*_*uly的帖子

收到 InvalidClientIdError (invalid_request) 重定向 URI 不匹配。使用 requests_oauthlib

我正在尝试使用库requests_oauthlib模拟消费者和提供者(server_to_server)之间的令牌交换。在提供商端授权后收到代码并将代码交换为令牌后,我收到错误。

所以我在回调函数中获取了代码,但它说重定向 uri 不匹配。我已经在提供商的数据库中检查了重定向 uri。他们是一样的。(作为下面代码中的变量redirect_uri)

查看我的 Django 实现:

视图.py

# create session
from importlib import import_module
SessionStore = import_module(settings.SESSION_ENGINE).SessionStore
session = SessionStore()

client_id = "123456"
client_secret = "123456"
authorization_base_url = 'http://localhost:8000/o/authorize/'
token_url = 'http://localhost:8000/o/token/'

redirect_uri = 'http://localhost:8888/callback'

# ONLY FOR A LOCALHOST
import os
os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'


def index(request):
    provider = OAuth2Session(client_id, redirect_uri=redirect_uri)
    authorization_url, state = provider .authorization_url(authorization_base_url)

    # state is used to prevent CSRF, keep this for later.
    session['oauth_state'] = state
    # redirect to provider    
    return redirect(authorization_url)

def …
Run Code Online (Sandbox Code Playgroud)

django mismatch oauth-2.0 python-requests request-uri

3
推荐指数
1
解决办法
2784
查看次数