OIDC / OAuth 2.0
← シミュレーター一覧

リフレッシュトークンフロー

アクセストークンの有効期限が切れた際に、ユーザーの再認証なしで新しいアクセストークンを取得するフロー。ユーザー体験を向上させつつ、セキュリティを維持します。

ステップ 1 / 250%
クライアント
認可サーバー
>1. リフレッシュトークンリクエスト
<2. 新しいアクセストークン取得
1

リフレッシュトークンリクエスト

クライアント認可サーバー

クライアントがリフレッシュトークンを使用してトークンエンドポイントに新しいアクセストークンを要求します。

リクエスト概要

リフレッシュトークンで新しいアクセストークンを要求

セキュリティ注意事項
  • !リフレッシュトークンは安全に保存する(サーバーサイド推奨)
  • !scope は元のスコープ以下に限定される
  • !機密クライアントはクライアント認証が必要
POST/token
Headers
Content-Type: application/x-www-form-urlencoded
Authorization: Basic base64(client_id:client_secret)
Body
grant_type=refresh_token&refresh_token=dGhpcyBpcyBhIHJlZnJlc2g...&scope=openid profile

使用すべき場面

  • -アクセストークンの有効期限が切れた場合
  • -長期間のセッション維持が必要な場合
  • -ユーザーに再ログインを求めたくない場合
  • -オフラインアクセスが必要な場合

使用すべきでない場面

  • -サーバー間通信 → 新しいアクセストークンを直接取得する
  • -短命なセッションのみの場合
  • -セキュリティ要件が特に厳しく、毎回認証が必要な場合

セキュリティ考慮事項

  • !リフレッシュトークンは長命なため、厳格に管理する
  • !トークンローテーションを実装して漏洩リスクを軽減する
  • !リフレッシュトークン漏洩を検知したら全トークンを無効化する
  • !パブリッククライアントではリフレッシュトークンの発行を慎重に検討する
  • !リフレッシュトークンにも有効期限を設定する
  • !不審なリフレッシュトークンの使用パターンを監視する