Sobre a autenticação no GitHub
Para manter sua conta segura, você deve efetuar a autenticação antes de acessar certos recursos no GitHub. Ao efetuar a autenticação no GitHub, você fornece ou confirma credenciais que são exclusivas que provam quem você declara ser.
Você pode acessar seus recursos no GitHub de várias formas: no navegador, por meio do GitHub Desktop ou outro aplicativo da área de trabalho, com a API ou por meio da linha de comando. Cada forma de acessar o GitHub é compatível com diferentes modos de autenticação.
- Seu provedor de identidade (IdP)
- Nome de usuário e senha (ou logon social) com autenticação de dois fatores ou uma chave de acesso (apenas GitHub Free e GitHub Enterprise Cloud)
- Personal access token
- Chave SSH
Efetuar a autenticação no seu navegador
Se você for membro de um empresa com usuários gerenciados, fará a autenticação no GitHub no navegador usando o IdP. Para obter mais informações, confira Sobre os Enterprise Managed Users.
Se você não for membro de um empresa com usuários gerenciados, fará a autenticação usando seu nome de usuário e senha ou chave de acesso do GitHub. Você também pode usar a autenticação de dois fatores e o logon único do SAML, que podem ser exigidos por proprietários da organização e da empresa.
Observação
A partir de março de 2023, o GitHub exigiu que todos os usuários que contribuem com código do GitHub.com habilitassem uma ou mais formas de autenticação de dois fatores (2FA). Se você estiver em um grupo qualificado, deve ter recebido um email de notificação quando esse grupo foi selecionado para inscrição, marcando o início de um período de registro de 45 dias para o 2FA. E você deve ter visto banners solicitando seu registro no 2FA no GitHub.com. Se você não recebeu uma notificação, é porque não fazia parte de um grupo de quem é exigido habilitar o 2FA, embora seja altamente recomendável.
Para obter mais informações sobre a distribuição de registro 2FA, confira esta postagem no blog.
Se você precisar usar várias contas em GitHub.com, como uma conta pessoal e uma conta de serviço, poderá alternar rapidamente entre suas contas sem precisar sempre se autenticar novamente. Para saber mais, confira Como alternar entre contas.
-
Somente nome de usuário e senha
- Você criará uma senha ao criar sua conta no GitHub. Recomendamos que você use um gerenciador de senhas para gerar uma senha aleatória e única. Para obter mais informações, confira Criar uma senha forte.
- Se você não tiver habilitado a 2FA, o GitHub poderá solicitar verificação adicional quando você entrar pela primeira vez usando um dispositivo novo ou não reconhecido, como um novo perfil de navegador, um navegador em que os cookies foram excluídos ou um novo computador. Para saber mais, confira Verificar novos dispositivos ao fazer login.
-
Logon social
- Você se autenticará com um dos provedores de logon social com suporte (atualmente, apenas o Google) ao criar sua conta no GitHub. Recomendamos que você também configure a 2FA e adicione uma chave de acesso ou uma senha como um mecanismo de recuperação de conta adicional.
- Se você tiver uma conta criada com uma senha, poderá adicionar seu email de logon social à conta. Como isso, você poderá usar a identidade de logon social como uma substituição de primeiro fator (senha) ao entrar no GitHub.
- Você pode desvincular suas identidades de logon social da página de configurações de email do GitHub. Para obter mais informações, confira Unlinking your email address from a locked account.
-
2FA (autenticação de dois fatores) (recomendado)
-
Se você habilitar a 2FA (autenticação de dois fatores). Depois de entrar com logon social ou seu nome de usuário e senha, será solicitado que você insira um código de um aplicativo TOTP (senha única) baseada em tempo em seu dispositivo móvel
-
Depois de configurar a 2FA, sua conta entra em um período de verificação de 28 dias. Depois de realizar a 2FA com sucesso nesses 28 dias, o período de verificação será concluído. Se você não executar a 2FA nesse período, será solicitado que execute a 2FA em uma de suas sessões existentes do GitHub.
-
Se você não puder executar a 2FA para passar na verificação do 28º dia, receberá um atalho que permite redefinir suas configurações de 2FA. Você deve redefinir essas configurações para poder acessar o restante do GitHub. Para obter mais informações, confira Acessar o GitHub usando a autenticação de dois fatores e Configurar a autenticação de dois fatores.
-
Além da autenticação com um aplicativo TOTP ou uma mensagem de texto, você tem a opção de adicionar um método alternativo de autenticação com GitHub Mobile ou uma chave de segurança usando WebAuthn. Confira Como configurar a autenticação de dois fatores com o GitHub Mobile ou Como configurar a autenticação de dois fatores usando uma chave de segurança.
Observação
Se você não conseguir usar nenhum método de recuperação, terá perdido permanentemente o acesso a sua conta. No entanto, você pode desvincular um endereço de email vinculado à conta bloqueada. Em seguida, o endereço de email desvinculado pode ser vinculado a uma conta nova ou existente. Para saber mais, confira Unlinking your email address from a locked account.
-
-
Chave de acesso
- Você pode adicionar uma chave de acesso à sua conta para habilitar um logon seguro e sem senha. Chaves de acesso atendem aos requisitos de senha e 2FA, então você pode concluir sua entrada em uma única etapa. Confira Sobre chaves de acesso.
-
Logon único do SAML
- Para acessar recursos pertencentes a uma organização ou conta corporativa que use o logon único do SAML, talvez seja necessário se autenticar também por meio de um IdP. Para saber mais, confira Sobre a autenticação com o logon único.
Cookies de sessão
O GitHub usa cookies para fornecer serviços e aumentar a segurança. Você pode rever os detalhes sobre os cookies da GitHub em Cookies do GitHub.
- O gist.domínio github.com e domínios github.com usam cookies separados.
- O GitHub normalmente marca uma sessão de usuário para exclusão após duas semanas de inatividade.
- O GitHub não exclui imediatamente uma sessão quando você sai. Periodicamente, o GitHub exclui automaticamente as sessões expiradas.
Efetuar a autenticação com GitHub Desktop
Você pode efetuar a autenticação com o GitHub Desktop usando seu navegador. Para saber mais, confira Autenticar para o GitHub no GitHub Desktop.
Efetuar a autenticação com a API
Você pode efetuar a autenticação com a API de diferentes formas. Para saber mais, confira Autenticação na API REST.
Autenticação na API com um personal access token
Se quiser usar a API REST do GitHub para uso pessoal, crie um personal access token. Se possível, o GitHub recomenda que você use um fine-grained personal access tokens em vez de um personal access token (classic). Para obter mais informações sobre como criar um personal access token, confira Gerenciar seus tokens de acesso pessoal.
Autenticação na API com um aplicativo
Se você quiser usar a API em nome de uma organização ou de outro usuário, a GitHub recomenda que você use um GitHub App. Para saber mais, confira Sobre a autenticação com um GitHub App.
Você também pode criar um token OAuth com um OAuth app para acessar a API REST. No entanto, o GitHub recomenda que você use um GitHub App. Os GitHub Apps permitem mais controle sobre o acesso e a permissão que o aplicativo tem.
Autenticação na API em um fluxo de trabalho do GitHub Actions
Se você quiser usar a API em um fluxo de trabalho de GitHub Actions, a GitHub recomenda que você se autentique com o GITHUB_TOKEN
interno, em vez de criar um token. Você pode conceder permissões à GITHUB_TOKEN
com a chave permissions
.
Observe que GITHUB_TOKEN
só pode acessar recursos no repositório que contém o fluxo de trabalho. Se você precisar fazer alterações em recursos fora do repositório de fluxo de trabalho, precisará usar um personal access token ou GitHub App.
Para saber mais, confira Usar GITHUB_TOKEN para autenticação em fluxos de trabalho.
Efetuando a autenticação com a linha de comando
Você pode acessar repositórios no GitHub pela linha de comando de duas maneiras, HTTPS e SSH. Ambos têm uma maneira diferente de efetuar a autenticação. O método de autenticação é determinado com base na escolha de uma URL remota de HTTPS ou SSH quando você clonar o repositório. Para obter mais informações sobre as formas de acesso, confira Sobre repositórios remote.
HTTPS
Você pode trabalhar com todos os repositórios no GitHub por HTTPS, mesmo que você esteja atrás de um firewall ou proxy.
Se você fizer a autenticação com a GitHub CLI, poderá fazer a autenticação com um personal access token ou por meio do navegador da Web. Para obter mais informações sobre como se autenticar com a GitHub CLI, confira gh auth login
.
Se você fizer a autenticação sem a GitHub CLI, precisará fazer a autenticação com um personal access token. Quando o Git solicitar sua senha, insira seu personal access token. Como alternativa, você pode usar um auxiliar de credenciais como o Gerenciador de Credenciais do Git. A autenticação baseada em senha para o Git foi removida em favor de métodos de autenticação mais seguros. Para saber mais, confira Gerenciar seus tokens de acesso pessoal. Sempre que você usar o Git para se autenticar no GitHub, precisará inserir suas credenciais, a menos que armazene em cache com um auxiliar de credencial.
SSH
Você pode trabalhar com todos os repositórios no GitHub por meio de SSH, embora os firewalls e proxys possam se recusar a permitir conexões de SSH.
Se você efetuar a autenticação com GitHub CLI, a CLI encontrará chaves públicas SSH no seu computador e solicitará que você selecione uma para upload. Se a GitHub CLI não encontrar uma chave pública SSH para o upload, ela poderá gerar um novo par de chaves pública/privada SSH e carregar a chave pública na sua conta em GitHub.com. Em seguida, você poderá fazer a autenticação com um personal access token ou por meio do navegador da Web. Para obter mais informações sobre como se autenticar com a GitHub CLI, confira gh auth login
.
Se você fizer a autenticação sem a GitHub CLI, precisará gerar um par de chaves pública/privada SSH no computador local e adicionar a chave pública à sua conta do GitHub.com. Para saber mais, confira Gerando uma nova chave SSH e adicionando-a ao agente SSH. Sempre que você usar o Git para se autenticar no GitHub, precisará inserir sua frase secreta de chave SSH, a menos que tenha armazenado a chave.
Autorizando para logon único SAML
Para usar um personal access token ou uma chave SSH para acessar os recursos que pertencem a uma organização que usa o logon único do SAML, você também precisa autorizar o token pessoal ou a chave SSH. Para obter mais informações, confira Como autorizar um token de acesso pessoal para uso com logon único ou Como autorizar uma chave SSH para uso com logon único.
Formatos de token de GitHub
GitHub emite tokens que começam com um prefixo para indicar o tipo do token.
Tipo de token | Prefixo | Mais informações |
---|---|---|
Personal access token (classic) | ghp_ | Gerenciar seus tokens de acesso pessoal |
Fine-grained personal access token | github_pat_ | Gerenciar seus tokens de acesso pessoal |
token de acesso OAuth | gho_ | Autorizar aplicativos OAuth |
Token de acesso de usuário para um GitHub App | ghu_ | Autenticação com um aplicativo GitHub em nome de um usuário |
Token de acesso de instalação para um GitHub App | ghs_ | Como autenticar como uma instalação de Aplicativo GitHub |
Atualizar token para um GitHub App | ghr_ | Atualizar tokens de acesso do usuário |