古い Google openid では、(以前にアプリにオプトインした) ユーザーを認証 URL に送信すると、すぐにアプリにリダイレクトされました。
現在、OAuth2 では、認証 URL がユーザーに許可を求め続けています。これに関するいくつかのドキュメントを読みましたが、得られないのは、このフローがどのように機能するかです:
- ユーザーがアプリ経由で Google にログインし、アクセス許可の [許可] をクリックします
- 数日後、Cookie がクリアされ、ユーザーがサイトに戻ってきて、[Google にログイン] をクリックします。
- ユーザーは再度許可を求められることはなく、すぐにログインされます。
ステップ1で認証トークンまたはリフレッシュトークンを保存することと関係があると思いますが、ステップ3では、それらが誰であるかがわからないため、適切な認証トークンまたはリフレッシュトークンと照合して有効なトークンを取得するにはどうすればよいですかアクセストークン。
私のテストでは、手順 1 で元の認証 URL に送信すると、再度アクセス許可を求められます。
編集:解決策を見つけました
google-api は、認証 URL を作成するときに、デフォルトで「approval_prompt=force」を設定します。