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
Você pode efetuar a autenticação no GitHub no seu navegador de diferentes formas.
Se você precisar usar várias contas em sua instância do GitHub Enterprise Server, 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.
-
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. Para obter mais informações, confira Acessar o GitHub usando a autenticação de dois fatores.
-
Além da autenticação com um aplicativo TOTP, você tem a opção de adicionar um método alternativo de autenticação com uma chave de segurança usando WebAuthn. Confira Como configurar a autenticação de dois fatores usando uma chave de segurança.
-
-
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.
-
Autenticação externa
- O administrador do site pode configurar o sua instância do GitHub Enterprise Server para usar uma autenticação externa em vez de um nome de usuário e uma senha. Para saber mais, confira Sobre o gerenciamento de identidades e acesso.
Cookies de sessão
O GitHub usa cookies para fornecer serviços e aumentar a segurança.
- O gist.HOSTNAME e domínio base para a sua instância 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, você pode usar métodos de autenticação cuja disponibilidade depende de seu IdP.
A tabela descreve os métodos de autenticação disponíveis com base no IdP configurado para a instância. IdPs diferentes podem impor restrições específicas ou habilitar determinados recursos, como desabilitar a autenticação de senha. Para ver mais detalhes, confira Gerenciamento de identidade e de acesso.
IdP | Métodos de autenticação disponíveis | Mais informações |
---|---|---|
SAML | Personal access token | Autenticação de senha desabilitada |
LDAP | Personal access token ou nome de usuário/senha | A autenticação de senha pode ser desabilitada pelo administrador do site |
Autenticação interna | Personal access token ou nome de usuário/senha | A autenticação de senha não pode ser desabilitada |
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 sua instância do GitHub Enterprise Server. 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 sua instância do GitHub Enterprise Server. 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.
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 |