Flask-OAuthlibパッケージを使用して、Google と Facebook による OAuth 2 プロバイダーによる認証を実装しています。
Googleの場合、私はこれを使用しています:
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",
)
Facebook の場合、コードは次のようになります。
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",
)
より完全な例は、ここで入手できます。
Google プロバイダーを使用すると、正常にログインできます。いったんログオフすると、再度ログインしようとすると、アカウントのリストを表示する Google のページにリダイレクトされ、アカウントを選択できます。
Facebook プロバイダーを使用すると、正常にログインできますが、いったんログオフすると、再度ログインすると、Facebook は何も要求しなくなり、以前に使用したアカウントで自動的にログインするだけです。
Facebook に再認証を強制するにはどうすればよいですか。つまり、特定のアカウントを選択できるようにする Facebook ページを毎回ユーザーに表示しますか?