Créer un jeton de gestion pour la CLI

POST https://api.keenauth.com/v1/environments/{environment_id}/management-tokens · appelé par keenauth login

Échange la connexion de la CLI contre un jeton de 10 minutes pour un environnement. Vous n'appelez pas ce point de terminaison vous-même : keenauth login vous connecte avec votre compte du tableau de bord (autorisation par appareil ou, avec --web, redirection loopback avec PKCE) et la CLI demande un jeton pour chaque environnement sur lequel elle travaille. Le jeton est lié à la clé de la CLI (DPoP) et ne porte que les autorisations de votre rôle du tableau de bord dans cet environnement.

Demande

En-têtes :

En-tête Requis Description
Authorization oui DPoP <access token> : le jeton d'accès reçu par la CLI lors de votre connexion.
DPoP oui Une preuve DPoP pour cette requête, signée avec la clé à laquelle le jeton d'accès est lié ; elle contient le hachage du jeton d'accès et le nonce du serveur.
Content-Type oui application/json.

Corps : un objet JSON vide, {}. Tout autre membre est refusé avec unknown_field. La requête n'a pas d'Idempotency-Key : chaque appel émet un nouveau jeton.

Réponse

201 Created avec Cache-Control: no-store :

Champ Description
access_token Le jeton de gestion. Envoyez-le sous la forme Authorization: DPoP <token> avec une preuve de la même clé.
token_type Toujours DPoP.
expires_in Durée de vie en secondes : 600.
expires_at Fin de la durée de vie (RFC 3339, UTC).
environment_id L'environnement pour lequel le jeton est émis.
audience La cellule pour laquelle le jeton est émis (<region>/<cell>).
api_base URL de base de l'API régionale qui accepte le jeton.
permissions Les autorisations de l'environnement accordées par votre rôle du tableau de bord.

La CLI ne conserve le jeton qu'en mémoire. Un changement de rôle prend effet dans 10 minutes au plus ; lorsqu'un rôle est retiré, les jetons ouverts de cet utilisateur sont révoqués.

Erreurs

HTTP Code Quand
401 unauthenticated Aucun jeton d'accès n'a été envoyé.
401 invalid_token Le jeton d'accès est invalide, expiré ou n'appartient pas à la CLI ; reconnectez-vous avec keenauth login.
401 invalid_dpop_proof La preuve DPoP est absente, répétée, ou ne correspond ni à la requête ni à la clé du jeton.
401 use_dpop_nonce Réessayez avec une preuve qui porte le nonce de l'en-tête de réponse DPoP-Nonce.
401 insufficient_user_authentication L'authentification multifacteur (ou, pour votre rôle, une clé d'accès ou une clé de sécurité) est requise ; reconnectez-vous.
404 not_found L'environnement n'existe pas ou vous n'avez aucun rôle du tableau de bord dans cet environnement.
429 rate_limited Plus de 30 jetons par minute pour votre utilisateur (partagé avec le tableau de bord) ; respectez Retry-After.

Exemple

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