Autenticação
Faça login, gerencie sessões e entenda como o CLI do Jamdesk autentica você, com tokens, renovação, equipes e ambientes de CI/CD.
O CLI usa autenticação baseada no navegador para se conectar à sua conta do Jamdesk. Você precisa fazer login antes de fazer deploy.
Login
jamdesk login
Isso abre o dashboard do Jamdesk no navegador para autenticação. Nos bastidores:
- O CLI inicia um servidor HTTP local em
127.0.0.1:9876(usa uma porta atribuída pelo sistema operacional se 9876 estiver ocupada) - O navegador abre
dashboard.jamdesk.com/cli-auth - Você se autentica usando qualquer método de login do dashboard (e-mail/senha, Google, GitHub)
- O dashboard envia suas credenciais de volta ao servidor local do CLI
- As credenciais são armazenadas em
~/.jamdeskrc
Um parâmetro de estado é verificado no callback para impedir falsificação de solicitação entre sites. O fluxo de login expira após 2 minutos.
$ jamdesk login
ℹ Open this URL in your browser to log in:
https://dashboard.jamdesk.com/cli-auth?port=9876&state=abc123...
ℹ Waiting for authentication...
✔ Logged in as you@example.comAmbientes sem interface e SSH: a URL sempre é exibida no terminal, mesmo quando o navegador não pode ser aberto. Copie e cole a URL em qualquer navegador.
Logout
jamdesk logout
Limpa as credenciais armazenadas em ~/.jamdeskrc. Não faz nada se você não estiver conectado.
$ jamdesk logout
✔ Logged out (you@example.com)Whoami
jamdesk whoami
Exibe seu e-mail autenticado e valida a sessão renovando o token. Esta é uma verificação ativa, não uma leitura do cache local.
Há três estados possíveis:
$ jamdesk whoami
✔ Logged in as you@example.com$ jamdesk whoami
⚠ Logged in as you@example.com (session expired)
Run `jamdesk login` to re-authenticate.$ jamdesk whoami
ℹ Not logged in. Run `jamdesk login` to authenticate.Como funcionam as sessões
As credenciais são armazenadas em ~/.jamdeskrc como JSON, com permissões 0600 (somente o proprietário pode ler e escrever):
{
"auth": {
"refreshToken": "AGK...",
"email": "you@example.com",
"uid": "abc123",
"expiresAt": 1700000000000
}
}O CLI usa uma arquitetura de token de atualização + token de ID:
- Tokens de ID expiram em aproximadamente 1 hora e são usados nas chamadas de API
- O CLI renova automaticamente os tokens de ID usando o token de atualização armazenado, com uma margem de 5 minutos antes da expiração
- Os tokens de atualização duram bastante, mas podem ser revogados (alteração de senha, exclusão da conta)
- Se o token de atualização for permanentemente inválido (
TOKEN_EXPIRED,USER_NOT_FOUND,INVALID_REFRESH_TOKEN), a autenticação armazenada será limpa automaticamente
Você não precisa gerenciar tokens manualmente. O CLI cuida das renovações de forma transparente em todos os comandos autenticados.
Solução de problemas
O servidor local de callback do CLI pode estar bloqueado por um firewall. Copie a URL exibida e abra-a manualmente no navegador.
Se a porta 9876 estiver sendo usada por outro processo, o CLI escolherá outra porta automaticamente. Verifique a URL na saída do terminal.
Seu token de atualização não é mais válido. Isso acontece após alterações de senha ou longos períodos de inatividade.
Execute jamdesk login para obter uma nova sessão.
Isso é esperado em ambientes sem interface (SSH, Docker, CI). Copie a URL do terminal e abra-a em qualquer navegador que consiga acessar a porta de callback da sua máquina.
Verifique se ~/.jamdeskrc existe e contém uma chave auth:
cat ~/.jamdeskrcAs permissões do arquivo devem ser 0600. Se o arquivo estiver ausente, seu diretório pessoal pode ter problemas de permissão; verifique com ls -la ~.
Para obter mais ajuda sobre problemas do CLI, consulte o guia do CLI na Central de ajuda.
