OAuth
Epismo が API / MCP クライアント向けにアクセストークンを発行・管理する仕組みです。
Epismo はアプリケーションの認証に標準的な OAuth 2.0 と OpenID Connect を使います。プロダクト連携を作る場合、このフローでアクセストークンを取得し、以後すべての API リクエストに Bearer トークンとして付与します。ほとんどの利用者はこれらのエンドポイントを直接呼ぶ必要はありません(CLI や対応する MCP クライアントがフローを代行します)。ここでは独自に連携を作るチーム向けに記載しています。
フローの流れ
- エンドポイントを取得する。 URL をハードコードせず、下記の well-known メタデータを取得します。認可 / トークン / ユーザー情報の各エンドポイントと対応機能が記載されています。
- クライアントを登録する。 動的クライアント登録には
POST /oauth/registerを使います。登録したクライアントは既定でauthorization_codeとrefresh_tokenの grant に対応します。 - ユーザーを認可する。 認可コードフロー(PKCE 対応)で認可コードを取得します。
- トークンに交換する。
POST /oauth/tokenで認可コードをアクセストークンとリフレッシュトークンに交換します。 - 必要に応じて更新する。 アクセストークンが期限切れになったら、再サインインさせる代わりに
grant_type=refresh_tokenでPOST /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 セットアップ を参照してください。