Crear un token de gestión para la CLI
POST https://api.keenauth.com/v1/environments/{environment_id}/management-tokens · lo llama keenauth login
Canjea el inicio de sesión de la CLI por un token de 10 minutos de un entorno. Usted no llama a este endpoint directamente: keenauth login le inicia sesión con su cuenta del panel (autorización de dispositivo o, con --web, una redirección loopback con PKCE) y la CLI solicita un token para cada entorno en el que trabaja. El token queda vinculado a la clave de la CLI (DPoP) y solo lleva los permisos de su rol del panel en ese entorno.
Solicitud
Encabezados:
| Encabezado | Obligatorio | Descripción |
|---|---|---|
Authorization |
sí | DPoP <access token>: el token de acceso que la CLI recibió cuando usted inició sesión. |
DPoP |
sí | Una prueba DPoP para esta solicitud, firmada con la clave a la que está vinculado el token de acceso; contiene el hash del token de acceso y el nonce del servidor. |
Content-Type |
sí | application/json. |
Cuerpo: un objeto JSON vacío, {}. Cualquier otro miembro se rechaza con unknown_field. La solicitud no tiene Idempotency-Key: cada llamada emite un token nuevo.
Respuesta
201 Created con Cache-Control: no-store:
| Campo | Descripción |
|---|---|
access_token |
El token de gestión. Envíelo como Authorization: DPoP <token> con una prueba de la misma clave. |
token_type |
Siempre DPoP. |
expires_in |
Duración en segundos: 600. |
expires_at |
Fin de la duración (RFC 3339, UTC). |
environment_id |
El entorno para el que es el token. |
audience |
La celda para la que es el token (<region>/<cell>). |
api_base |
URL base de la API regional que acepta el token. |
permissions |
Los permisos de su rol del panel en el entorno. |
La CLI guarda el token solo en memoria. Un cambio de rol surte efecto en 10 minutos como máximo; cuando se quita un rol, los tokens abiertos de ese usuario se revocan.
Errores
| Estado | Código | Cuándo |
|---|---|---|
| 401 | unauthenticated |
No se envió ningún token de acceso. |
| 401 | invalid_token |
El token de acceso no es válido, ha caducado o no es de la CLI; inicie sesión de nuevo con keenauth login. |
| 401 | invalid_dpop_proof |
La prueba DPoP falta, está repetida o no coincide con la solicitud ni con la clave del token. |
| 401 | use_dpop_nonce |
Reintente con una prueba que incluya el nonce del encabezado de respuesta DPoP-Nonce. |
| 401 | insufficient_user_authentication |
Se requiere autenticación multifactor (o, para su rol, una clave de acceso o una clave de seguridad); inicie sesión de nuevo. |
| 404 | not_found |
El entorno no existe o usted no tiene un rol del panel en él. |
| 429 | rate_limited |
Más de 30 tokens por minuto para su usuario (compartido con el panel); espere lo indicado en Retry-After. |
Ejemplo
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 '{}'