fbpx

GitHub – Autenticação Git via Personal Access Token

GitHub – Autenticação Git via Personal Access Token

Saudações, devs! 😎👍 Se você chegou até aqui, muito provavelmente está enfrentando problemas com a autenticação do Git no repositório GitHub, certo? Bom, vamos falar sobre o que mudou! 😉

No blog do GitHub, num post do dia 12 de agosto de 2021, foi anunciado que a partir do dia 13 do mesmo mês, o GitHub não aceitaria mais a autenticação via nome de usuário e senha nas operações remotas do Git. 😯

Isso significa que a partir de agora, para que os desenvolvedores possam executar operações de push e pull, por exemplo, será necessário configurar a autenticação via personal access token (PAT), OAuth, chave SSH, ou token do aplicativo GitHub.

Neste tutorial iremos aprender como configurar a autenticação via personal access token, que usa o protocolo HTTPS, considerando ambientes Windows. Go, go, go! 🚀

Passo 1 – Resetar as configurações “remote/origin” do seu repositório local

Para garantir que esse tutorial funcione, vamos zerar as configurações de “remote/origin” do seu repositório local, isto é, caso você já esteja utilizando um. Para isso, vamos fazer o seguinte:

  • Abra a pasta .git que fica oculta em um de seus repositórios locais;
  • A seguir, abra o arquivo config e exclua as configurações [remote “origin”] – vide imagem a seguir.
Exclua a configuração em destaque no arquivo config.

ATENÇÃO! Você também pode excluir o repositório local, considerando que há uma versão atual no GitHub (remoto). Se esse for o caso, podemos fazer o git clone, baixar a versão mais atual do repositório e realizar as configurações locais do zero.

Passo 2 – Excluir as credenciais do GitHub localmente

Para garantir as as configurações estejam de fato zeradas, abra o Gerenciador de Credenciais do Windows e exclua todas as credenciais relacionadas Git que estejam cadastradas. Veja a imagem a seguir.

Passo 3 – Gerar um Personal Access Token (PAT)

Um token de acesso pessoal deve ser gerado no próprio GitHub. Para isso, siga os passo a seguir:

  • Faça o login em sua conta do GitHub;
  • Acesse as configurações de sua conta – clique no seu avatar no canto superior direito, depois em Settings;
  • No menu à esquerda, clique em Developer Settings;
  • Ainda no menu à esquerda, clique em Personal acess tokens;
  • Remova os tokens existentes (se houver);
  • Depois clique em Generate new Token – essa operação deverá pedir a senha do usuário;
  • Na página New personal acess token, adicione uma nota (ou nome) para seu PAT, defina o tempo de expiração (normalmente “No Expiration”) e marque todos os escopos possíveis;
  • Agora clique no botão Generate Token;
  • O token será gerado e mostrado apenas uma vez, portanto, copie e salve-o em um local seguro;
Não se esqueça de salvar o seu PAT em um local seguro!

Passo 4 – Configurando o repositório local

Agora precisamos setar as configurações remote/origin de um repositório local já existente. Para isso, precisamos confirmar a URL HTTPS do seu repositório, acessar a pasta do repositório via Git Bash (ou outro terminal) e digitar o seguinte código:

git remote add origin [URL-HTTPS-DO-REPOSITORIO]

Caso você tenha excluído o repositório local, será necessário realizar o git clone para baixá-lo novamente.

git clone [URL-HTTPS-DO-REPOSITORIO]

Pronto! Agora, quando você for realizar o próximo git push, a seguinte janela deverá ser exibida, pedindo o seu PAT:

Entre com o seu PAT!

E se mesmo assim não for possível fazer push/pull?

Caso o comando git push ou git pull retorne uma mensagem de erro, informando que não foi possível autenticar com usuário, senha ou token, confirme os passos 1 e 2, e tente novamente.

Se o erro persistir é possível informar o PAT diretamente nas configurações do repositório. Para isso, faça o seguinte:

  • Abra a pasta oculta .git na pasta do seu repositório;
  • Na configuração [remote “origin”], edite a URL do repositório da seguinte maneira:

url = https://$(git_token)@github.com/user_name/repo_name.git

Alternativamente, você pode executar o push/pull informando diretamente a URL como parâmetro, veja:

git push https://$(git_token)@github.com/user_name/repo_name.git

Obviamente, você deve substituir a porção git_token pelo seu PAT. 😉 Tente fazer o push/pull agora, deve funcionar!

Conclusão

É claro que a autenticação com usuário e senha era muito mais simples. Entretanto, o fato de informar dados pessoais diretamente não é uma boa prática quando consideramos o quesito segurança.

Assim, o GitHub achou por bem implementar formas mais seguras de autenticação.

No próximo post, irei falar sobre a autenticação via chaves SSH. Até breve! 😎👍

Jorge Luís Gregório

Jorge Luís Gregório

Professor e entusiasta de tecnologia, estudioso da cultura NERD e fã de quadrinhos, animes e games. Mais um pai de menino, casado com a mulher mais linda da galáxia e cristão convicto. Gosto de ler ficção científica e discutir tecnologia, filmes, seriados, teologia, filosofia e política. Quer falar sobre esses e diversos outros assuntos? Venha comigo!