O GitHub é uma das principais plataformas utilizadas pelos times de desenvolvimento de soluções, em que é possível armazenar código-fonte e arquivos, além de permitir que os desenvolvedores trabalhem em conjunto. Para potencializar sua segurança e evitar transtornos que afetem os trabalhos nele desenvolvidos, o serviço adotou a autenticação por token, que mantém usuários não autorizados bem longe dos seus projetos.
Basta uma brecha para que um agente mal-intencionado ou um colaborador descuidado acesse a sua conta no GitHub, altere os trabalhos em execução, entre outras ações indesejadas que podem colocar tudo a perder. Por meio da autenticação, a plataforma pode desde gravar informações do usuário diretamente no token (e não no servidor) até possibilitar a configuração de autorizações com prazos de expiração.
Quer usar o GitHub em segurança? Batemos um papo com Raphael Rossi, desenvolvedor sênior da Engineering, que nos conta tudo sobre como funciona essa nova exigência. Confira!
O que é autenticação por token?
Autenticação é o procedimento utilizado pelas plataformas digitais para que o usuário confirme a sua identidade. Ela identifica quem solicita o acesso ao sistema, a fim de garantir que a pessoa que está tentando entrar no servidor é, de fato, quem diz ser.
“Segurança sempre foi um tema em alta no mercado de tecnologia. Com isso, existem diversas formas de se autenticar em um sistema. Uma delas, que é padrão de mercado, é utilizando tokens. Por ser um método mais consolidado, o uso e a documentação estão bem definidos e desenhados”, diz Raphael Rossi.
Na autenticação por token, o usuário insere login e senha na plataforma, o que gera um token — certificado digital — que o permite navegar pelos recursos do seu interesse, dentro de um prazo determinado, sem a necessidade de utilizar os dados do login novamente.
“É um método de autenticação entre duas partes. É mais usado em sistemas web em que há um cliente e um servidor. Para consumir os recursos do servidor, o cliente precisa se autenticar gerando um token de acesso’’, reforça o desenvolvedor sênior da Engineering.
Quais são os processos envolvidos na autenticação por token?
Os processos que fazem parte da autenticação por token são:
- o usuário envia as credenciais de acesso para o servidor;
- o servidor faz a autenticação das credenciais e posteriormente gera um token;
- a plataforma envia o token automaticamente para o usuário;
- o usuário salva o token e o envia por meio de header (cabeçalho) sempre que fizer uma nova requisição;
- a cada requisição, o servidor avalia se o token é válido ou não;
- o servidor pode contar com um endpoint capaz de renovar o token.
Com esse mecanismo, você pode passar o token obtido pela plataforma para um sistema automatizado para o qual deseja acessar e confiar por um período limitado, mas não quer confiar seu nome de usuário e sua senha. Assim, seu acesso se torna muito mais prático e seguro.
Por que o GitHub mudou para a autenticação por token?
Desde agosto de 2021, a plataforma GitHub deixou de permitir o acesso e a autenticação de operações dos usuários dos seus serviços com base na disponibilização do nome do usuário e da senha. Agora, o procedimento será feito apenas por token, cuja finalidade é proporcionar um acesso único e especializado para o consumidor. A partir daí, pode-se definir regras de acesso, ou seja, até que ponto o usuário pode navegar pelo sistema.
O avanço da autenticação por token se deve por ser um mecanismo que facilita o controle de acesso. A mudança feita pelo GitHub foi desencadeada por motivos de segurança, uma vez que os tokens trazem uma série de benefícios para o usuário. Por exemplo, existe a possibilidade de salvar as informações do cliente no próprio token, e não no servidor, o que dificulta o acesso de pessoas não autorizadas.
O token pode ser configurado de acordo com as suas necessidades, e você também pode conceder as autorizações que quiser, pelo prazo de que necessitar. Após o período de vencimento, o token para de funcionar, impedindo que o usuário continue acessando o sistema.
Segundo Raphael Rossi, mesmo que o login ou a senha de um usuário acabe vazando, é impossível outra pessoa conseguir logar no Git, pois não poderá efetuar a autenticação dupla. Afinal, há um tempo curto de vida por token — cerca de 30 segundos.
Como fazer a autenticação por token no GitHub?
O GitHub é um grande aliado para a rotina de desenvolvimento de soluções, já que possibilita ao time de desenvolvedores da empresa trabalhar em conjunto na mesma plataforma, o que desburocratiza os processos de colaboração. Nesse sentido, fazer a autenticação por token no servidor é indispensável para continuar usufruindo dos seus benefícios.
Para tanto, você precisa gerar um token, o que pode ser feito com o auxílio de um aplicativo de geração de tokens, como Google Authenticator ou Microsoft Authenticator. Veja qual é o passo a passo:
- comece fazendo o seu login no GitHub;
- depois de entrar na página principal, basta selecionar o seu usuário e clicar no botão “Setting”;
- em seguida, clique em “Developer settings” (18ª opção listada no lado esquerdo da página);
- clique na opção “Personal acess tokens” (3ª posição da lista situada à esquerda);
- selecione a opção “Generate new token”;
- insira e confirme a senha que você utiliza para acessar o GitHub;
- defina o nome do seu token e o prazo de expiração;
- marque todas as autorizações que você quer conceder ao token — caso queira usar o token para o acesso a repositórios, selecione a opção “repo”;
- selecione as opções do seu interesse e finalize clicando em “Generate token” (botão localizado final da tela).
Feitas todas as essas etapas, aparece um código que o usuário deve copiar e colocar diretamente no Gerenciador da sua máquina. Por último, é só acessar a plataforma e realizar as suas atividades.
A adoção do token é uma tendência cada vez mais comum no meio digital, impulsionada pela segurança embutida nesse mecanismo. O desenvolvedor sênior da Engineering acrescenta:
“O token é amplamente utilizado nas esteiras CI/CD (Contínuous Integration/Continuos Delivery), que entrega aplicações com frequência aos clientes. Com ele, você pode criar tokens para cada etapa de desenvolvimento, com permissões específicas, aumentando a segurança no projeto em andamento, pois não há o risco de os demais usuários realizarem alterações indevidas”.
O desenvolvimento de uma nova solução é um trabalho cauteloso, pois uma única alteração em um código de programação pode modificar todo o projeto. Obrigar o usuário a localizar o token no ato da autenticação aumenta a segurança dos seus projetos, garantindo que a pessoa que está logando é ela mesma — condição que impede acessos indevidos e a ocorrência de erros enquanto o trabalho está em andamento.
Portanto, a autenticação por token no GitHub é um recurso aliado na missão de facilitar o trabalho dos desenvolvedores de aplicações. Quando você utiliza o token, não é mais necessário fornecer seu usuário e sua senha para se autenticar. Isso significa que o time de desenvolvedores pode se dedicar à construção de soluções tranquilamente, sem se preocupar com os riscos associados a acessos de usuários não autorizados.
Gostou de saber sobre a nova forma de autenticação do GitHub? Siga o nosso perfil no LinkedIn e acompanhe mais novidades fresquinhas!