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

クライアントクレデンシャルフロー

ユーザーが関与しないマシン間(M2M)通信のためのフロー。クライアント自身の資格情報でトークンを取得します。バックエンドサービス間の通信に適しています。

ステップ 1 / 333%
クライアント
認可サーバー
リソースサーバー
>1. トークンリクエスト
<2. トークンレスポンス
>3. リソースアクセス
1

トークンリクエスト

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

クライアントが自身の資格情報(client_id と client_secret)を使って、直接トークンエンドポイントにリクエストします。認可エンドポイントは使用しません。

リクエスト概要

クライアント資格情報でトークンを要求

セキュリティ注意事項
  • !client_secret は安全に管理する必要がある
  • !Basic 認証またはPOSTボディでクライアント認証を行う
POST/token
Headers
Content-Type: application/x-www-form-urlencoded
Authorization: Basic base64(client_id:client_secret)
Body
grant_type=client_credentials&scope=api:read api:write

使用すべき場面

  • -バックエンドサービス間のAPI通信(M2M)
  • -バッチ処理やcronジョブ
  • -マイクロサービス間の通信
  • -CLIツールやデーモンプロセス

使用すべきでない場面

  • -ユーザーの代理でアクセスする場合 → 認可コードフローを使用
  • -フロントエンドアプリケーション → PKCE を使用
  • -ユーザーの権限を使いたい場合

セキュリティ考慮事項

  • !client_secret の安全な管理が必須
  • !ユーザーコンテキストがないため、クライアント単位でのアクセス制御になる
  • !トークンの有効期限を短く設定する
  • !スコープを最小限に制限する(最小権限の原則)
  • !client_secret のローテーションを定期的に行う