GitHub CLI: confira a validade das cópias de tokens OAuth

Dev
Visualizações 7

A CLI continua autenticada, mas um script iniciado ontem falha. Talvez ele guarde uma cópia antiga do token. O anúncio do GitHub de 21 de outubro de 2026 sugere começar pelo mapa do caminho das credenciais.

Diagrama de revisão: renovação da CLI, cópia externa e operação consumidora. Não é tela do produto nem benchmark.
Diagrama de revisão: renovação da CLI, cópia externa e operação consumidora. Não é tela do produto nem benchmark.

Mudança confirmada: adesão opcional

A partir da v2.103.0, gh auth login --expiring solicita credenciais renováveis. O gh armazena um access token com expiração e um refresh token rotativo. Logins existentes e tokens manuais mantêm o comportamento. Há suporte em github.com, ghe.com e GHES 3.23 ou superior; outros servidores podem emitir tokens sem expiração. Confira o estado real com gh auth status.

Uma string copiada não se renova sozinha

O GitHub alerta sobre scripts que capturam gh auth token uma vez e reutilizam o resultado. Consumidores externos devem obter um valor novo quando necessário. Sucesso na inicialização não prova validade depois. Um refresh token comprometido continua perigoso; duração curta não substitui privilégios mínimos nem revogação.

Uma sequência de revisão sugerida

Liste versão, host e consumidores que copiam tokens para arquivos, variáveis ou extensões. Registre responsável e momento da consulta sem coletar segredos. Em teste, compare a mesma leitura no início e mais tarde. Separe expiração, permissões e falhas de rede. Para git HTTPS, avalie gh auth setup-git e a recomendação de git 2.46 ou superior. Revise mudanças reais separadamente.

Alguns fluxos precisam de adaptação

Se uma integração depende de token duradouro, o próprio GitHub recomenda adiar a adesão nesse fluxo. Defina responsável e data de revisão. Não trate OAuth de desenvolvedor e GITHUB_TOKEN de CI como equivalentes. Uma opção não padroniza todas as permissões e revogações. Verifique o suporte da versão instalada.

“Continuar conectado” deixa duas perguntas: o gerenciador consegue renovar e o consumidor recebe o novo valor? Não medimos taxas de falha da comunidade. Desenhar um caminho real revela quem controla o cache e qual deve ser o escopo do teste.

Fontes oficiais e verificações

GitHub Changelog · Expiring OAuth preview

GitHub Docs · CLI authentication

Documente versão, host, dono do cache e resultados sem valores secretos.