現在、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 に移動すると、次のエラーが表示されます。
エラー
ベース リダイレクト URI が要求されたリダイレクトと一致しません
ベース 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 を変更する前に、アプリケーションをホワイトリストに登録する必要がありますか? それとも、何かを誤って構成していますか?