ユーザーアイコン

mizuko

8日前

0
0

Auth0でGoogle OAuth2認証時に権限確認画面を必ず表示する方法

Google
TypeScript
Auth0
OAuth2
インフラ

Google OAuth2認証で既に権限確認済みの場合でも、権限確認画面を必ず表示させる方法

問題

  • Google OAuth2では一度権限確認が行われると、次回以降は権限確認画面がスキップされる
  • refresh_tokenは初回の権限確認時のみ取得可能
  • 既存ユーザーの認証方式変更時に権限確認画面がスキップされ、refresh_tokenが取得できない

解決方法 招待URLに prompt=consent パラメータを追加する

// URLにprompt=consentパラメータを追加 const url = new URL(invitationUrl); url.searchParams.set('prompt', 'consent'); const finalUrl = url.toString();

効果

  • 既に権限確認済みでも必ず権限確認画面が表示される
  • refresh_tokenの確実な取得が可能
  • Google Calendar等の外部サービスへの継続的なアクセスが保証される

適用タイミング

  • 新規ユーザー招待時(Google認証を選択した場合)
  • 認証方式変更時(Google認証への変更時)