Creare un token di gestione per la CLI

POST https://api.keenauth.com/v1/environments/{environment_id}/management-tokens · chiamato da keenauth login

Scambia l'accesso della CLI con un token di 10 minuti per un ambiente. Questo endpoint non viene chiamato direttamente: keenauth login accede con l'account della dashboard (autorizzazione del dispositivo oppure, con --web, un reindirizzamento loopback con PKCE) e la CLI richiede un token per ogni ambiente su cui lavora. Il token è vincolato alla chiave DPoP della CLI e include solo i permessi del ruolo della dashboard in quell'ambiente.

Richiesta

Intestazioni:

Intestazione Obbligatoria Descrizione
Authorization sì DPoP <access token>: il token di accesso ricevuto dalla CLI al momento dell'accesso.
DPoP sì Una prova DPoP per questa richiesta, firmata con la chiave a cui è vincolato il token di accesso; contiene l'hash del token di accesso e il nonce del server.
Content-Type sì application/json.

Corpo: un oggetto JSON vuoto, {}. Qualsiasi altro membro viene rifiutato con unknown_field. La richiesta non ha Idempotency-Key: ogni chiamata emette un nuovo token.

Risposta

201 Created con Cache-Control: no-store:

Campo Descrizione
access_token Il token di gestione. Va inviato come Authorization: DPoP <token> con una prova della stessa chiave.
token_type Sempre DPoP.
expires_in Durata in secondi: 600.
expires_at Fine della durata (RFC 3339, UTC).
environment_id L'ambiente per cui è il token.
audience La cella per cui è il token (<region>/<cell>).
api_base URL base dell'API regionale che accetta il token.
permissions I permessi dell'ambiente del ruolo della dashboard.

La CLI conserva il token solo in memoria. Una modifica del ruolo ha effetto entro 10 minuti al massimo; quando un ruolo viene rimosso, i token aperti di quell'utente vengono revocati.

Errori

Stato Codice Quando
401 unauthenticated Non è stato inviato alcun token di accesso.
401 invalid_token Il token di accesso non è valido, è scaduto o non appartiene alla CLI; eseguire di nuovo keenauth login.
401 invalid_dpop_proof La prova DPoP è mancante, ripetuta oppure non corrisponde alla richiesta o alla chiave del token.
401 use_dpop_nonce Riprovare con una prova che contiene il nonce dell'intestazione di risposta DPoP-Nonce.
401 insufficient_user_authentication È richiesta l'autenticazione a più fattori (oppure, per il ruolo, una passkey o una chiave di sicurezza); eseguire di nuovo l'accesso.
404 not_found L'ambiente non esiste oppure l'utente non ha un ruolo nella dashboard in esso.
429 rate_limited Più di 30 token al minuto per l'utente (condivisi con la dashboard); attendere Retry-After.

Esempio

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 '{}'