Skip to main content
A CLI suporta duas formas de autenticação, mutuamente exclusivas por profile: login por device flow (para uso humano interativo) ou uma chave de API (para uso sem navegador, incluindo agentes e CI). Autenticar de uma forma limpa os dados salvos da outra.

Login por device flow

repass login, sem flags, inicia um OAuth 2.0 Device Authorization Grant (RFC 8628), o mesmo padrão usado por CLIs como a da GitHub.
1

Rode o login

A CLI imprime uma URL de verificação e um código curto, e tenta abrir seu navegador automaticamente (melhor esforço: se falhar, a URL já está impressa para você copiar).
2

Aprove no navegador

O navegador abre https://app.repass.com.br/device com o código pré-preenchido. Esse é o domínio de produção; em outros ambientes (local, staging) o domínio muda de acordo com onde a CLI está apontando. Faça login no painel (se ainda não estiver) e aprove o código.
3

A CLI conclui a sessão

Enquanto você aprova, a CLI faz polling em segundo plano até detectar a aprovação. Ao concluir, ela resolve a organização ativa:
  • 0 organizações na conta → orienta finalizar o onboarding no painel.
  • 1 organização → é ativada automaticamente.
  • mais de uma → em terminal interativo pergunta qual ativar; sem TTY, orienta rodar repass org use <id|slug> depois.
A sessão (token + validade) é salva no profile local e usada como Authorization: Bearer em toda chamada seguinte.
Saída (exemplo)

Login com chave de API

Ambientes sem navegador (CI, servidores, agentes) usam uma chave de API em vez do device flow:
Isso valida a chave contra a API e grava apenas apiKey no profile (limpando qualquer token de sessão salvo antes). Existem dois tipos de chave, com propósitos diferentes:
Toda chave de API é exibida uma única vez no momento da criação. Copie e guarde em local seguro, ela não pode ser recuperada depois. Nunca commite uma chave em um repositório, nem a exponha em logs ou código de frontend.
Uma chave rsto_ já tem organização fixa no servidor: repass org list/use/current recusam rodar com ela (“Chave de organização tem organização fixa: não é possível listar/trocar.”). Use rstr_ (pessoal) quando precisar trocar de organização pela CLI.

Organização ativa

Contas com mais de uma organização precisam de uma organização ativa definida. A CLI resolve isso com o grupo org:
  • org list: lista as organizações visíveis para a sessão atual.
  • org use <idOrSlug>: troca a organização ativa (aceita id ou slug) e persiste em activeOrganizationId no profile.
  • org current: mostra a organização ativa (tenta a sessão remota primeiro; cai para o cache local do profile se a chamada falhar).

whoami

Confirme a qualquer momento qual credencial e organização estão em uso, especialmente antes de rodar um comando sensível:
Saída (sessão)
Saída (chave de organização)

logout

Limpa token/tokenExpiresAt/apiKey/activeOrganizationId do profile local. Se havia uma sessão de device flow, a CLI também tenta invalidá-la no servidor. Falha de rede nessa parte não impede o logout local.

Próximos passos

Configuração

Profiles nomeados, variáveis de ambiente e onde a sessão fica salva.

Automação e CI

Uso não interativo com REPASS_API_KEY e --yes.