OAuth 2.0 認証処理シーケンス図
概要
一般的なOAuth 2.0 認可コードフロー(Authorization Code Flow)のシーケンス図です。最も広く使われる標準的なフローを示しています。
シーケンス図
各ステップの説明
認可フェーズ(ステップ1〜8)
ステップ | 処理内容 | 補足 |
|---|---|---|
1 | ユーザーがクライアントアプリにアクセス | 「○○でログイン」ボタン等 |
2 | クライアントが認可サーバーへリダイレクト |
|
3〜6 | ユーザーが認証・認可を実施 | 認可サーバー側での操作 |
7 | 認可コードがクライアントに返却される | コードは短命(通常10分以内) |
8 | stateの検証でCSRF攻撃を防止 | リクエスト時と一致するか確認 |
トークン取得フェーズ(ステップ9〜11)
ステップ | 処理内容 | 補足 |
|---|---|---|
9 | クライアントがバックチャネルでトークン要求 | サーバー間通信(安全) |
10 | 認可サーバーがコードを検証 | 使用済みコードは無効化 |
11 | アクセストークンとリフレッシュトークンを発行 | JWTまたはOpaque Token |
リソースアクセスフェーズ(ステップ12〜15)
ステップ | 処理内容 | 補足 |
|---|---|---|
12 | Bearerトークンを付与してAPI呼び出し | Authorizationヘッダー使用 |
13 | リソースサーバーがトークンを検証 | 署名検証またはイントロスペクション |
14〜15 | データ返却・サービス提供 | 正常系レスポンス |
トークンリフレッシュフェーズ(ステップ16〜21)
ステップ | 処理内容 | 補足 |
|---|---|---|
16〜17 | 期限切れトークンで401エラー | アクセストークンは短命(数分〜数時間) |
18〜19 | リフレッシュトークンで新トークン取得 | リフレッシュトークンは長命(数日〜数ヶ月) |
20〜21 | 新トークンでリトライ | ユーザーの再認証不要 |
セキュリティ上の注意点
最終更新: