我目前在超级网站上设置了一个开发者帐户,一切都在我的电脑上本地运行良好http://localhost:7000/submit
我可以登录并使用API。这非常适合测试端点。但是,我的最终目标是在我的移动应用上使用端点。所以我转到重定向网址并将其切换为https://my_new_url:7000/submit
我正在使用Flask作为我的服务器,并以下列方式使用SSL:
if __name__ == '__main__':
application.run(host='0.0.0.0',port=7000,ssl_context='adhoc')
但是,当导航到我的基本网址时,我收到以下错误:
ERROR
BASE REDIRECT URI与请求的REDIRECT不匹配
基本网址的代码如下所示:
def get_redirect_uri(request):
"""Return OAuth redirect URI."""
parsed_url = urlparse(request.url)
if parsed_url.hostname == 'localhost':
return 'http://{hostname}:{port}/submit'.format(
hostname=parsed_url.hostname, port=parsed_url.port
)
return 'https://{hostname}/submit'.format(hostname=parsed_url.hostname)
@application.route('/', methods=['GET'])
def signup():
params = {
'response_type': 'code',
'redirect_uri': get_redirect_uri(request),
'scopes': ','.join(config.get('scopes')),
}
url = generate_oauth_service().get_authorize_url(**params)
return redirect(url)
在更改重定向网址之前是否必须将应用程序列入白名单?或者我是否错误配置了某些内容?
答案 0 :(得分:0)
正如您从/v1/oauth2/authorize端点收到的错误响应中所述,问题是您发送的URI的基础必须与在Uber Developers Dashboard中注册应用程序期间使用的重定向URI相匹配。