Jamdesk Documentation logo

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:

  1. 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)
  2. O navegador abre dashboard.jamdesk.com/cli-auth
  3. Você se autentica usando qualquer método de login do dashboard (e-mail/senha, Google, GitHub)
  4. O dashboard envia suas credenciais de volta ao servidor local do CLI
  5. 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.

Expected output
$ 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.com

Ambientes 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.

Expected output
$ 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:

Logged in
$ jamdesk whoami
 Logged in as you@example.com
Session expired
$ jamdesk whoami
 Logged in as you@example.com (session expired)
  Run `jamdesk login` to re-authenticate.
Not logged in
$ 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):

~/.jamdeskrc
{
  "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 ~/.jamdeskrc

As 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.

O que vem a seguir?

Deploy do CLI

Faça deploy da sua documentação pelo terminal

Visão geral do CLI

Todos os comandos do CLI em um só lugar