OAuth 2.0 認証処理シーケンス図

概要

一般的なOAuth 2.0 認可コードフロー(Authorization Code Flow)のシーケンス図です。最も広く使われる標準的なフローを示しています。

シーケンス図

各ステップの説明

認可フェーズ(ステップ1〜8)

ステップ

処理内容

補足

1

ユーザーがクライアントアプリにアクセス

「○○でログイン」ボタン等

2

クライアントが認可サーバーへリダイレクト

response_type=code を指定

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

新トークンでリトライ

ユーザーの再認証不要

セキュリティ上の注意点

最終更新: