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

認可コードフロー

最も標準的で安全なフロー。サーバーサイドアプリケーションに適しています。認可コードを中間的な資格情報として使用し、バックチャネルでトークンを取得します。

ステップ 1 / 617%
ブラウザ
クライアント
認可サーバー
リソースサーバー
>1. 認可リクエスト送信
<2. ユーザー認証・同意
<3. 認可コードでリダイレクト
>4. トークンリクエスト
<5. トークンレスポンス
>6. リソースアクセス
1

認可リクエスト送信

ブラウザ認可サーバー

クライアントがブラウザを認可サーバーの認可エンドポイントにリダイレクトします。

リクエスト概要

認可エンドポイントへのリダイレクト

セキュリティ注意事項
  • !state パラメータでCSRF攻撃を防止する
  • !redirect_uri は事前登録されたものと完全一致させる
GET/authorize
Body
response_type=code&client_id=my-app&redirect_uri=https://example.com/callback&scope=openid profile&state=random-csrf-token

使用すべき場面

  • -サーバーサイドWebアプリケーション
  • -client_secret を安全に保管できる環境
  • -最も一般的で推奨されるフロー

使用すべきでない場面

  • -SPA(シングルページアプリケーション)→ PKCE を使用する
  • -ネイティブアプリ → PKCE を使用する
  • -サーバー間通信 → クライアントクレデンシャルを使用する

セキュリティ考慮事項

  • !認可コードは短命で1回のみ使用可能にする
  • !state パラメータで CSRF 攻撃を防止する
  • !redirect_uri は完全一致で検証する
  • !client_secret はサーバーサイドで安全に管理する
  • !HTTPS を必ず使用する