2017-01-14 6 views
0

私はFlask-OAuthlibパッケージを使用してGoogleとFacebookからOAuth 2プロバイダの認証を実装しています。 FacebookのためFlask-OAuthlibを使って、Facebookが再認証のアカウントを要求するようにするにはどうすればいいですか?

google = oauth.remote_app(
    "google", 
    consumer_key=client_id, 
    consumer_secret=client_secret, 
    request_token_params={"scope": "email"}, 
    base_url="https://www.googleapis.com/oauth2/v1/", 
    request_token_url=None, 
    access_token_method="POST", 
    access_token_url="https://accounts.google.com/o/oauth2/token", 
    authorize_url="https://accounts.google.com/o/oauth2/auth", 
) 

、コードは似ています:私はこれを使用しているGoogleのために、

facebook = oauth.remote_app(
    "facebook", 
    consumer_key=client_id, 
    consumer_secret=client_secret, 
    request_token_params={"scope": "email"}, 
    base_url="https://graph.facebook.com/", 
    request_token_url=None, 
    access_token_method="GET", 
    access_token_url="/oauth/access_token", 
    authorize_url="https://www.facebook.com/dialog/oauth", 
) 

より完全な例はhereご利用いただけます。

Googleプロバイダを使用すると、正常にログインできます。ログオフすると再びログインしようとすると、Googleのページにリダイレクトされ、アカウントのリストが表示されます。

Facebookプロバイダを使用している場合は正常にログインできますが、ログオフすると、もう一度ログインすると、Facebookはもう何も質問しません。以前に使用したアカウントで自動的にログインします。

どのように私はFacebookに再認証を強制するのですか?つまり、特定のアカウントを選択できるFacebookページを毎回表示しますか?

答えて

0

見つけました。

ライン:official documentationによると、実際には

request_token_params={"scope": "email", "auth_type": "reauthenticate"}, 

request_token_params={"scope": "email"}, 

を置き換えてください

再認証するには、あなたがこれらの同じを使用することができますそれを強制する追加のパラメータを含むステップ:

は[...]

reauthenticateは -

無条件で再認証する人を求めて
関連する問題