Uber 基本重定向错误

Uber Base Redirect Error

我目前已经在 uber 上设置了一个开发者帐户,在我的 PC 本地 运行 和 http://localhost:7000/submit

一切正常

我可以登录并使用 API。这非常适合测试端点。但是,我的最终目标是在我的移动应用程序上使用端点。所以我去了重定向 URL 并将其切换为 https://my_new_url:7000/submit

我正在为我的服务器使用 Flask 并按以下方式使用 SSL:

if __name__ == '__main__':
    application.run(host='0.0.0.0',port=7000,ssl_context='adhoc') 

但是,当导航到我的基地时 url 我收到以下错误:

ERROR

THE BASE REDIRECT URI DOES NOT MATCH THE REQUESTED REDIRECT

基础 url 的代码如下所示:

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)

我必须先将应用程序列入白名单才能更改重定向 URL 还是我配置有误?

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

另请参阅此答案: