优步基站重定向错误

时间:2015-10-26 02:46:29

标签: https flask uber-api

我目前在超级网站上设置了一个开发者帐户,一切都在我的电脑上本地运行良好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)

在更改重定向网址之前是否必须将应用程序列入白名单?或者我是否错误配置了某些内容?

1 个答案:

答案 0 :(得分:0)

正如您从/v1/oauth2/authorize端点收到的错误响应中所述,问题是您发送的URI的基础必须与在Uber Developers Dashboard中注册应用程序期间使用的重定向URI相匹配。

另请参阅此答案:https://stackoverflow.com/a/35638160/313113