Pular para o conteúdo

archgate credential

Fornece ao git um token de acesso válido para os repositórios de plugins do Archgate. Normalmente você não executa este comando — o git o invoca, e o archgate login o registra para você.

Janela do terminal
archgate credential get

Os repositórios de plugins são clonados via HTTPS a partir de plugins.archgate.dev, e o próprio git autentica essas requisições em vez de passar pela CLI. Os tokens de acesso têm vida curta, então um token gravado uma única vez no gerenciador de credenciais deixaria de funcionar em menos de uma hora. Este helper resolve isso: o git pede credenciais a cada requisição, e ele responde com um token de acesso em cache, renovando-o a partir do refresh token armazenado somente depois que expira.

O comando fala o protocolo de credential helper do git via entrada e saída padrão. Ele responde apenas para plugins.archgate.dev e permanece silencioso para qualquer outro host, então as credenciais dos seus demais remotes continuam usando o helper que você já configurou.

SubcomandoDescrição
archgate credential getExibe as credenciais de um repositório de plugin
archgate credential storeAceita uma credencial do git (no-op)
archgate credential eraseDescarta o token de acesso em cache quando o git o reporta como rejeitado

store é intencionalmente um no-op: os tokens vêm do archgate login, então não há nada que o git possa ensinar à CLI.

O erase descarta apenas o token de acesso em cache e mantém sua sessão. O git apaga credenciais sempre que elas são rejeitadas, e um único 401 — um token de acesso que passou da janela de renovação, ou um erro transitório do host de plugins — não deve custar um novo login completo. A próxima requisição renova a partir do refresh token.

O archgate login grava o seguinte na sua configuração global do git:

[credential "https://plugins.archgate.dev"]
helper =
helper = !/home/voce/.archgate/bin/archgate credential

A primeira entrada vazia redefine qualquer helper herdado de um escopo de configuração mais amplo, de modo que o archgate seja o único helper consultado para este host. O executável é registrado pelo caminho absoluto, então o git iniciado por um editor ou cliente gráfico o encontra sem o PATH do seu shell. O archgate login logout remove as duas entradas.

Inspecione o que o git recebe:

Janela do terminal
printf 'protocol=https\nhost=plugins.archgate.dev\n\n' | archgate credential get
protocol=https
host=plugins.archgate.dev
username=seunome
password=eyJhbGciOiJFUzM4NCIsInR5cCI6ImF0K2p3dCJ9...

Quando você não está autenticado, o comando não exibe nada e encerra com sucesso, o que faz o git seguir para os outros helpers:

Janela do terminal
archgate login logout
printf 'protocol=https\nhost=plugins.archgate.dev\n\n' | archgate credential get

O helper não está registrado. Execute archgate login novamente ou verifique a configuração diretamente:

Janela do terminal
git config --get-all credential.https://plugins.archgate.dev.helper

A saída deve listar uma linha vazia seguida de !, o caminho absoluto do executável archgate e credential. Se não listar, a CLI não conseguiu gravar sua configuração global do git — confirme que git config --global --list funciona.

O helper está registrado, mas as credenciais continuam sendo rejeitadas

Seção intitulada “O helper está registrado, mas as credenciais continuam sendo rejeitadas”

Confirme que você está autenticado com archgate login status. Se o refresh token expirou ou foi revogado, o helper não retorna credenciais e informa o erro. Ele lê apenas o conjunto de tokens armazenado pelo archgate login; um token emitido antes deste fluxo existir nunca é entregue ao git. Execute archgate login novamente.