Ir al contenido

suya auth

suya auth gestiona cómo se autentica la CLI contra la API de Subaya. Para la visión general conceptual de ambos modos de credencial, consulta Autenticación y claves de API.

Inicia sesión de forma interactiva con el flujo de OAuth en el navegador.

Terminal window
suya auth login
suya auth login --no-browser
Indicador Descripción
--no-browser No lanza un navegador. Imprime un código corto para aprobarlo desde cualquier dispositivo (el flujo de dispositivo, más abajo).

De forma predeterminada, la CLI abre un navegador usando una redirección loopback y almacena localmente el token resultante. Ese es el camino más rápido cuando el navegador está en la misma máquina que la CLI: el destino de la redirección es 127.0.0.1, así que no queda otra.

Si no se puede abrir el navegador, o la redirección nunca vuelve (la señal habitual de que tu navegador está en otra parte: SSH, un contenedor, una máquina de desarrollo remota), la CLI cambia automáticamente al flujo de dispositivo. No hace falta reiniciar nada.

Para agentes y CI, prefiere definir SUBAYA_API_KEY en lugar de iniciar sesión: no interviene ningún navegador.

Iniciar sesión sin navegador (flujo de dispositivo)

Sección titulada «Iniciar sesión sin navegador (flujo de dispositivo)»

Usa esto cuando la máquina que ejecuta suya no tiene navegador propio: por SSH, dentro de un contenedor, en una máquina de compilación remota.

Terminal window
suya auth login --no-browser

La CLI imprime un código y dos enlaces, y luego espera:

Open this link on any device: https://subaya-dev.com/auth/device?user_code=KHTM-BQWD
Or go to https://subaya-dev.com/auth/device and enter: KHTM-BQWD
Waiting for approval... (Ctrl-C to cancel)

Abre esa página en el dispositivo que tenga navegador —tu portátil, tu teléfono—, inicia sesión si aún no lo has hecho, comprueba que el código en pantalla coincide con el de tu terminal y apruébalo. La página nombra la máquina que lo solicitó, de modo que puedes distinguir tu propio inicio de sesión de uno que no hayas iniciado tú. La CLI se entera en unos segundos, guarda el token e imprime la cuenta con la que ha iniciado sesión.

Nunca se escribe nada de vuelta en la terminal, así que esto funciona desde un script o un agente igual de bien que desde un shell.

Notas:

  • El código es válido durante 10 minutos y puede usarse una sola vez. Si caduca, vuelve a ejecutar el comando para obtener uno nuevo.
  • Aprobarlo concede a la CLI acceso como tú, en tu organización activa actualmente. Para iniciar sesión contra otra organización, cambia de organización en la consola primero y luego ejecuta suya auth login de nuevo.
  • Si no fuiste tú quien inició el inicio de sesión, pulsa Deny (denegar): no se emite ningún token.

Cierra sesión y revoca el token almacenado localmente.

Terminal window
suya auth logout

Muestra tu estado de autenticación local. Esto no llama al servidor: informa de qué credenciales tiene la CLI en disco.

Terminal window
suya auth status

Llama al servidor (/api/auth/cli/whoami) e imprime la identidad a la que resuelve tu credencial actual. Funciona con ambos tipos de credencial: un token de suya auth login y una SUBAYA_API_KEY. Úsalo para confirmar que una clave está conectada correctamente antes de entregarla a CI.

Terminal window
export SUBAYA_API_KEY="sk_live_..."
suya auth whoami

Si la credencial se rechaza, whoami dice por qué en lugar de limitarse a fallar:

Motivo Qué significa
unknown_key La clave de API no se reconoce: revocada, caducada o inexistente. Emite una nueva en la consola, en Settings → API keys.
wrong_environment La clave está bien formada pero pertenece al otro entorno (véase más abajo). El mensaje incluye dónde emitir la correcta.
unknown_token Tu token de inicio de sesión caducó o fue revocado. Ejecuta suya auth login de nuevo.
no_credential No se presentó ninguna credencial. Define SUBAYA_API_KEY o ejecuta suya auth login.

Las claves de API llevan su entorno en el prefijo, y una clave solo es válida contra el host para el que se emitió:

  • sk_live_… — la API de producción (https://subaya-dev.com), el valor predeterminado de --host.
  • sk_test_… — reservado para entornos que no son de producción.

Una clave sk_test_ enviada al host de producción se rechaza con wrong_environment, no con un genérico «clave no válida»; así que, si ves eso, la solución es emitir una clave del tipo correcto, no buscar una revocada. Emite las claves en la consola, en Settings → API keys, en el entorno al que pretendes llamar.