Autenticação
:::caution Produtos não compartilham credenciais
KOBANA_TOKEN guarda a credencial de um produto por vez. Um token do Dashboard Mágico não autentica em nenhum outro produto Kobana, e vice-versa. kobana auth login é do Gateway Bancário e não emite token para o Dashboard Mágico.
:::
O token
O Dashboard Mágico autentica com um access token RS256 emitido pelo servidor de autorização da Kobana (account.kobana.com.br), enviado como Authorization: Bearer <jwt>. O aud do token é https://api.dashboards.kobana.com.br — por isso ele vale só para este produto. A API apenas verifica o token, não emite nenhum: veja Autenticação da API para como obtê-lo.
O claim scope decide o que o token pode fazer:
| Comando | Escopos aceitos |
|---|---|
Leitura (GET) | read, write ou all |
Escrita (POST, PUT, PATCH) | write ou all |
Exclusão (todo DELETE, inclusive data-purges delete) | delete ou all |
Importação (imports create, entities records import create, workspaces import create, backups restore) | import ou all |
Exportação (exports create, exports download, backups download, workspaces export) | export ou all |
Um nível nunca substitui outro: write não exclui, não importa e não exporta. Com escopos de recurso (dashboards/{grupo}), o nível vale só dentro dos grupos que o token carrega — veja Autenticação da API.
Sem o escopo certo, a resposta é 403 insufficient_scope. Um token emitido a uma pessoa fica limitado também ao que a função dela permite no dashboard (403 insufficient_permission); um token de máquina age pela organização.
Coloque o token em KOBANA_TOKEN antes de chamar o produto — me list mostra a quem ele pertence:
export KOBANA_TOKEN=$JWT_DASHBOARDS
kobana dashboards me list
Como a variável é a mesma para todos os produtos, exporte-a por comando (ou use um .env por projeto) se você alterna entre produtos na mesma sessão:
KOBANA_TOKEN=$JWT_DASHBOARDS kobana dashboards data-sources list --fields "id,name,status"
Workspace (X-Workspace-Id)
O token identifica a organização; os dados dela ficam em workspaces, e o cabeçalho X-Workspace-Id diz em qual deles a chamada age — o id ou o public_id que aparecem em Workspaces no dashboard (ou em kobana dashboards workspaces list). Ele pode ser omitido enquanto a organização tem um único workspace; com dois ou mais, a falta dele responde 400 workspace_required. Um workspace de outra organização responde 403 unknown_workspace, e um token de pessoa sem acesso ao workspace, 403 workspace_access_denied.
O CLI preenche o cabeçalho a partir de KOBANA_WORKSPACE_ID. Para agir em outro workspace numa chamada só, passe o cabeçalho em --params, que tem precedência sobre a variável:
export KOBANA_WORKSPACE_ID=WORKSPACE_ID
kobana dashboards entities list
kobana dashboards entities list --params '{"X-Workspace-Id": "OUTRO_WORKSPACE_ID"}'
O --dry-run mostra os cabeçalhos que seriam enviados (sem o token), e kobana schema lista os cabeçalhos de cada endpoint em header_params.
Prioridade de resolução
| Prioridade | Método | Configuração |
|---|---|---|
| 1 | Token direto | KOBANA_TOKEN |
| 2 | Arquivo de credenciais | KOBANA_CREDENTIALS_FILE |
| 3 | Credenciais salvas | kobana auth login (só Gateway Bancário) |
Ambiente
O Dashboard Mágico tem um único ambiente, o de produção, que é o padrão do CLI — não é preciso passar --env.
| Ambiente | API | --env |
|---|---|---|
| Produção | api.dashboards.kobana.com.br | production (padrão) |
O Dashboard Mágico não tem sandbox nem host de desenvolvimento próprio: com --env development o CLI cai em produção.
kobana dashboards workspaces list
Próximos passos
- Uso — sintaxe, recursos, exemplos.
- Variáveis de ambiente — a referência completa, incluindo configuração e logs.