Autenticación
:::caution Los productos no comparten credenciales
KOBANA_TOKEN guarda un token OAuth de banking o un JWT de inbox, según el producto que estés llamando — nunca ambos a la vez. kobana auth login solo produce credenciales de banking.
:::
banking
Token de acceso (lo más simple)
Obtén el token en Integrações > API > Token de API en el panel de Kobana.
export KOBANA_TOKEN=tu_token_aqui
OAuth (PKCE)
El CLI usa OAuth con PKCE — funciona sin configurar nada:
# Login (abre el navegador, cero config)
kobana auth login
# Login pidiendo scopes específicos. Un recurso sin verbo es lectura, así que
# esta es una sesión de solo lectura sobre dos recursos:
kobana auth login --scopes "inbox/emails,inbox/agent_runs"
# Agregue el verbo global `write` cuando la sesión también deba escribir.
# No existe el scope `read` en esta API — la lista está en Autenticación.
kobana auth login --scopes "inbox/emails,write"
# Client credentials (para apps server-side)
kobana auth login --client-id <ID> --client-secret <SECRET>
# Ver estado
kobana auth status
# Exportar credenciales (para CI)
kobana auth export > credentials.json
# Logout
kobana auth logout
Las credenciales guardadas se cifran con AES-256-GCM. La clave vive en el keyring del sistema operativo (macOS Keychain, etc.) con respaldo en archivo.
Prioridad de resolución
| Prioridad | Método | Configuración |
|---|---|---|
| 1 | Token directo | KOBANA_TOKEN |
| 2 | Archivo de credenciales | KOBANA_CREDENTIALS_FILE |
| 3 | Credenciales guardadas | kobana auth login |
inbox
Inbox Autónomo no comparte credenciales con banking:
KOBANA_TOKENdebe ser un JWT (RS256, emitido por el Authorization Server de Kobana) cuyoaudincluyahttps://api.inbox[.<env>].kobana.com.br— ver Autenticación de la API para entender cómo se emite ese token.kobana auth loginno lo genera.KOBANA_INBOX_CLIENT_CERTdebe apuntar a un archivo PEM con la cadena de certificado del cliente y su clave privada — la API está detrás de mTLS, tal como se describe en Autenticación de la API. Sin él, el CLI avisa en stderr y las solicitudes se rechazan.
kobana inbox emails list --fields "id,subject,received_at"
kobana inbox webhooks deliveries replay \
--params '{"id": "WEBHOOK_ID", "deliveryId": "DELIVERY_ID"}'
Entornos
El CLI opera en tres entornos. Producción es el default.
| Entorno | API | OAuth | --env |
|---|---|---|---|
| Producción | api.kobana.com.br | app.kobana.com.br | production (default) |
| Sandbox | api-sandbox.kobana.com.br | app-sandbox.kobana.com.br | sandbox |
| Development | localhost:5005/api | localhost:5005 | development |
# Producción (default — no necesita flag)
kobana banking charge pix list
# Sandbox
kobana banking charge pix list --env sandbox
# Development local
kobana banking charge pix list --env development
# Vía variable de entorno
export KOBANA_ENVIRONMENT=sandbox
kobana banking charge pix list
# Login en sandbox
kobana auth login --env sandbox
Los tokens son distintos entre entornos — un token de sandbox no funciona en producción y viceversa. Para inbox, el entorno viene en el claim aud del JWT (inbox/dev, inbox/stg, inbox/sdb, inbox/prd), así que el token correcto ya debe coincidir con el --env que pases.
Próximos pasos
- Uso — sintaxis, productos, recursos, ejemplos.
- Variables de entorno — la referencia completa, incluyendo configuración y logging.