Token
interactive client、CLI、MCP、automation に適切な token flow を選びます。
interactive user
Web app と一般 OAuth client は PKCE 付き Authorization Code を使います。CLI の epismo login は browser、SSO discovery、email-code behavior をまとめています。別の first-party client を作る場合以外、この実装詳細を再現しないでください。
API は、対応する first-party・manual flow 向けに login-method discovery と OTP endpoint を公開します。
POST /v1/login-options
POST /v1/otp-tokens
POST /oauth/tokenOTP grant では email address に OTP を request し、out-of-band で code を受け取り、token endpoint で OTP ID と code を交換します。OTP 作成は rate limit されます。code または token response を log しないでください。
CLI と CI
POST /v1/cli/tokens は authenticated caller へ CLI-compatible credential を発行します。通常は、特に --workspace-id 付きの epismo token create を使ってください。context を選び、automation 用に result を正しく整形します。
GET /v1/cli/tokens は発行済みの CLI token を一覧します(id、workspace、timestamp のみで raw secret は含みません)。DELETE /v1/cli/tokens/:tokenId は id を指定して1件を revoke します。epismo token list、epismo token revoke <token-id> がこれらをそのままラップしています。
EPISMO_TOKEN は workspace context を持ち、CLI の保存 workspace を上書きします。環境ごとに token を作り、secret manager へ保存し、whoami で検証し、独立して rotate します。漏洩した場合は期限切れを待たず、id を指定して revoke してください。
MCP
POST /v1/mcp/tokens と POST /v1/mcp/tokens/refresh は first-party MCP token pair を発行・rotate します。一般 MCP client はこれらを直接呼ばず OAuth discovery を使います。この token pair は epismo-mcp client 向けで、generic API credential として再利用しません。
保存ルール
- refresh token は short-lived access token より厳重に保護します。
- credential を URL、プレイブック Definition、案件 input、記録、source control、analytics payload、support screenshot へ入れません。
- rotated refresh token を atomic に置き換えます。
- disconnect または漏洩疑いで revoke し、invalid refresh token を繰り返し retry しません。
- developer machine の保存 default に頼らず、automation を意図した workspace へ bind します。