CLI 用の管理トークンを作成
POST https://api.keenauth.com/v1/environments/{environment_id}/management-tokens · keenauth login から呼び出されます
CLI のサインインを、1 つの環境に対する 10 分間有効な管理トークンに交換します。このエンドポイントを直接呼び出す必要はありません。keenauth login がダッシュボードのアカウントでサインインし(デバイス認可、または --web 指定時は PKCE 付きのループバックリダイレクト)、CLI が作業する環境ごとにトークンを要求します。トークンは CLI の鍵(DPoP)に紐づけられ、その環境におけるダッシュボードロールの権限のみを持ちます。
リクエスト
ヘッダー:
| ヘッダー | 必須 | 説明 |
|---|---|---|
Authorization |
はい | DPoP <access token>: サインイン時に CLI が受け取ったアクセストークンです。 |
DPoP |
はい | このリクエスト用の DPoP 証明です。アクセストークンに紐づく鍵で署名され、アクセストークンのハッシュとサーバー nonce を含みます。 |
Content-Type |
はい | application/json。 |
ボディ: 空の JSON オブジェクト {}。それ以外のメンバーは unknown_field で拒否されます。このリクエストに Idempotency-Key はありません。呼び出しのたびに新しいトークンが発行されます。
レスポンス
Cache-Control: no-store 付きの 201 Created:
| フィールド | 説明 |
|---|---|
access_token |
管理トークンです。同じ鍵の証明とともに Authorization: DPoP <token> として送信します。 |
token_type |
常に DPoP。 |
expires_in |
有効期間(秒): 600。 |
expires_at |
有効期間の終了時刻(RFC 3339、UTC)。 |
environment_id |
トークンの対象となる環境です。 |
audience |
トークンの対象となるセル(<region>/<cell>)です。 |
api_base |
トークンを受け付けるリージョナル API のベース URL です。 |
permissions |
お客様のダッシュボードロールの環境権限です。 |
CLI はトークンをメモリにのみ保持します。ロールの変更は最大 10 分以内に反映されます。ロールが削除されると、そのユーザーの有効なトークンは取り消されます。
エラー
| ステータス | コード | 発生条件 |
|---|---|---|
| 401 | unauthenticated |
アクセストークンが送信されていません。 |
| 401 | invalid_token |
アクセストークンが無効、期限切れ、または CLI のものではありません。keenauth login で再度サインインしてください。 |
| 401 | invalid_dpop_proof |
DPoP 証明がないか、重複しているか、リクエストまたはトークンの鍵と一致しません。 |
| 401 | use_dpop_nonce |
DPoP-Nonce レスポンスヘッダーの nonce を含む証明で再試行してください。 |
| 401 | insufficient_user_authentication |
多要素認証(またはお客様のロールに応じてパスキーもしくはセキュリティキー)が必要です。再度サインインしてください。 |
| 404 | not_found |
環境が存在しないか、その環境にダッシュボードロールがありません。 |
| 429 | rate_limited |
お客様のユーザーで 1 分あたり 30 件を超えるトークン要求がありました(ダッシュボードと共有)。Retry-After を待ってください。 |
例
curl -X POST https://api.keenauth.com/v1/environments/env_01jb0000000000000000000000/management-tokens \
-H "Authorization: DPoP $ACCESS_TOKEN" \
-H "DPoP: $DPOP_PROOF" \
-H "Content-Type: application/json" \
-d '{}'