Iniciar sesión con keenauth login

keenauth login inicia sesión con su cuenta del panel, para que pueda gestionar sus entornos desde una terminal sin crear una clave de API. Para los trabajos de CI y los scripts, siga usando una clave de API en KEENAUTH_API_KEY (consulte Interfaz de línea de comandos).

Comandos

Comando Qué hace
keenauth login Inicia sesión con el flujo de dispositivo: la CLI muestra una dirección y un código, usted abre la dirección en cualquier dispositivo, inicia sesión en el panel e introduce el código.
keenauth login --web Inicia sesión en el navegador de este equipo. La CLI abre la página de inicio de sesión y recibe el resultado en http://127.0.0.1:<port>/callback (o http://[::1]:<port>/callback); la solicitud está protegida con PKCE (S256), state y el parámetro iss.
keenauth whoami Muestra el usuario con sesión iniciada, la organización y el entorno seleccionado.
keenauth env use <environment_id> Selecciona el entorno que gestionarán los comandos posteriores. El plano de control comprueba que tiene un rol en el panel dentro de él.
keenauth env list Enumera los entornos en los que puede trabajar, desde el plano de control. El entorno seleccionado con env use aparece marcado con *.
keenauth logout Revoca la sesión en el servidor y la elimina de este equipo.
keenauth login
keenauth env use env_01j9z3c0000000000000000000
keenauth users list

Cuando KEENAUTH_API_KEY está definida, siempre tiene prioridad; la sesión almacenada solo se usa cuando no hay ninguna clave de API definida.

Listado de entornos

keenauth env list solicita al plano de control los entornos de la cuenta con la que inició sesión y en los que tiene un rol en el panel (GET /v1/environments, consulte Enumerar sus entornos para la CLI). Necesita una sesión; sin ella, le pide que ejecute keenauth login.

Opción Descripción
--limit Tamaño de página, de 1 a 100 (predeterminado 20).
--after El cursor que imprimió la página anterior (more results: --after <cursor>).
--all Recorre las páginas y enumera todos los entornos.
-o table|json|yaml Formato de salida; la tabla marca el entorno seleccionado con *, y en JSON y YAML cada fila tiene current: true para él.

Se rechaza un cursor --after no válido o ajeno (invalid_cursor); vuelva a ejecutar el comando sin él.

Cómo funciona la sesión

Dónde se almacena la sesión

Qué Dónde
Emisor, ID de usuario, organización, huella de la clave DPoP, entornos seleccionados config.json en KEENAUTH_CONFIG_DIR, o en keenauth dentro de su directorio de configuración de usuario (modo 0600)
Token de actualización y clave privada DPoP El llavero del sistema operativo: Llavero de macOS (security) o Secret Service en Linux (secret-tool)

Los secretos se pasan a la herramienta del llavero por la entrada estándar, nunca como argumentos de comando. Si no hay ningún llavero disponible (por ejemplo, en Windows o en un servidor Linux sin Secret Service), keenauth login se detiene con un error. Entonces puede pasar --insecure-storage para guardar el token de actualización y la clave privada DPoP sin cifrar en credentials.json (modo 0600), junto a config.json. La CLI muestra una advertencia: cualquiera que pueda leer ese archivo puede actuar como usted hasta que expire la sesión. En equipos compartidos, prefiera una clave de API.

Configuración

Variable Predeterminado Descripción
KEENAUTH_LOGIN_ISSUER https://login.keenauth.com El servidor de inicio de sesión. Debe ser una dirección https.
KEENAUTH_CONTROL_URL https://api.keenauth.com/v1 El plano de control que emite los tokens de gestión. Debe ser una dirección https.
KEENAUTH_CONFIG_DIR su directorio de configuración de usuario + keenauth Donde se guarda config.json (y, con --insecure-storage, credentials.json).

Errores

Mensaje Qué hacer
you are not signed in / your session has expired or was revoked Ejecute keenauth login de nuevo. Código de salida 3.
no environment is selected Ejecute keenauth env use <environment_id>.
environment … does not exist or you have no dashboard role in it Compruebe el ID en el panel o pida a un propietario un rol.
no OS keychain is available Instale un llavero, use --insecure-storage o use una clave de API.