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

インプリシットフロー

認可コードを介さず、認可エンドポイントから直接アクセストークンを返すフロー。セキュリティ上の問題から現在は非推奨です。代わりに認可コード + PKCE フローを使用してください。

ステップ 1 / 425%
ブラウザ
クライアント
認可サーバー
リソースサーバー
>1. 認可リクエスト送信
<2. ユーザー認証・同意
<3. フラグメントでトークン返却
>4. リソースアクセス
1

認可リクエスト送信

ブラウザ認可サーバー

クライアントが response_type=token で認可リクエストを送信します。トークンエンドポイントを使わず、直接トークンを受け取ります。

リクエスト概要

インプリシットフローの認可リクエスト

セキュリティ注意事項
  • !response_type=token がインプリシットフローの特徴
  • !client_secret は使用しない
GET/authorize
Body
response_type=token&client_id=my-spa-app&redirect_uri=https://example.com/callback&scope=openid profile&state=random-csrf-token

使用すべき場面

  • -使用しないでください(非推奨)

使用すべきでない場面

  • -すべてのケース → 認可コード + PKCE フローを使用する
  • -レガシーシステムからの移行も計画すべき

セキュリティ考慮事項

  • !OAuth 2.0 Security Best Current Practice (RFC 9700) で非推奨
  • !アクセストークンがURLフラグメントに露出し漏洩リスクが高い
  • !ブラウザ履歴やRefererヘッダーからトークンが漏洩する可能性がある
  • !トークンの送信元を検証する仕組みがない(トークンインジェクション攻撃に脆弱)
  • !リフレッシュトークンを発行できないため、ユーザー体験が低下する
  • !OAuth 2.1 ではインプリシットフローは削除される予定