OAuth

Epismo が API / MCP クライアント向けにアクセストークンを発行・管理する仕組みです。


Epismo はアプリケーションの認証に標準的な OAuth 2.0 と OpenID Connect を使います。プロダクト連携を作る場合、このフローでアクセストークンを取得し、以後すべての API リクエストに Bearer トークンとして付与します。ほとんどの利用者はこれらのエンドポイントを直接呼ぶ必要はありません(CLI や対応する MCP クライアントがフローを代行します)。ここでは独自に連携を作るチーム向けに記載しています。

フローの流れ

  1. エンドポイントを取得する。 URL をハードコードせず、下記の well-known メタデータを取得します。認可 / トークン / ユーザー情報の各エンドポイントと対応機能が記載されています。
  2. クライアントを登録する。 動的クライアント登録には POST /oauth/register を使います。登録したクライアントは既定で authorization_coderefresh_token の grant に対応します。
  3. ユーザーを認可する。 認可コードフロー(PKCE 対応)で認可コードを取得します。
  4. トークンに交換する。 POST /oauth/token で認可コードをアクセストークンとリフレッシュトークンに交換します。
  5. 必要に応じて更新する。 アクセストークンが期限切れになったら、再サインインさせる代わりに grant_type=refresh_tokenPOST /oauth/token を呼びます。

受け取るアクセストークンが API 呼び出しを認可します。送り方は 認証、CLI / MCP 専用のトークンエンドポイントは トークン を参照してください。

エンドポイント

メソッド パス 用途
POST /oauth/token 認可コードまたはリフレッシュトークンをトークンに交換
GET/POST /oauth/userinfo 現在のトークンの OpenID Connect ユーザー情報
POST /oauth/register 動的クライアント登録
POST /oauth/revoke アクセス / リフレッシュトークンを無効化
POST /oauth/introspect トークンが有効かを確認しスコープを調べる
GET /.well-known/oauth-authorization-server 認可サーバーのメタデータ(エンドポイントと対応機能)
GET /.well-known/openid-configuration OpenID Connect プロバイダーのメタデータ

スコープ

トークンはスコープを持ち、何ができるかを決めます。読み取り系エンドポイントは読み取りスコープ、変更系エンドポイントは書き込みスコープを要求し、MCP クライアントはさらに mcp スコープが必要です。連携に必要なスコープだけを要求してください。

MCP クライアント

MCP クライアントも同じ OAuth モデルを使いますが、メタデータは MCP サーバー側の well-known エンドポイントから取得します。そのフローは MCP セットアップ を参照してください。