私は同じ問題に遭遇しました。Facebook 認証 API は、リダイレクト URL に追加されたハッシュの背後にあるアクセス トークンを返します。同様に、Flask の request.url は、URL 内のすべてをハッシュ記号の後ろにドロップします。
私は Flask も使用しているので、完全な URL を取得するには、Javascript の window.location.href を使用してブルート フォースの回避策を使用できると思います。次に、必要な部分 (アクセス トークン) を抽出し、それをリダイレクト URL に配置して、アクセス トークンを引数として受信ビュー関数に渡すことができます。コードは次のとおりです。
@app.route('/app_response/<response>', methods=['GET'])
def app_response_code(response):
return ''' <script type="text/javascript">
var token = window.location.href.split("access_token=")[1];
window.location = "/app_response_token/" + token;
</script> '''
@app.route('/app_response_token/<token>/', methods=['GET'])
def app_response_token(token):
return token
Werkzeug 内でこれを行うことができた場合は、その方法を知りたいです。