Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise foi descontinuada em 2020-11-12. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Outros métodos de autenticação

Você pode usar a autenticação básica para testes em um ambiente que não é de produção.

Neste artigo

Embora a API forneça vários métodos para autenticação, é altamente recomendável usar OAuth para aplicativos de produção. Os outros métodos fornecidos destinam-se a ser usados para scripts ou testes (ou seja, casos em que o OAuth completo seria exagerado). Aplicativos de terceiros que dependem de GitHub Enterprise Server para autenticação não devem pedir ou coletar credenciais de GitHub Enterprise Server. Em vez disso, eles devem usar o Fluxo web do OAuth.

Autenticação básica

A API é compatível com a Autenticação Básica conforme definido em RFC2617 com algumas ligeiras diferenças. A diferença principal é que o RFC exige que as solicitações não autenticadas sejam respondidas com respostas 401 Unauthorized. Em muitos lugares, isso divulgaria a existência de dados de usuário. Em vez disso, a API de GitHub Enterprise Server responde com 404 Not Found. Isso pode causar problemas para bibliotecas de HTTP que assumem uma resposta 401 Unauthorized. A solução é criar manualmente o cabeçalho de Autorização .

Por meio do OAuth e de tokens de acesso pessoal

Recomendamos que você use tokens do OAuth para efetuar a autenticação na API do GitHub. Os tokens OAuth incluem tokens de acesso pessoal e habilitem o usuário a revogar o acesso a qualquer momento.

$ curl -u username:token http(s)://[hostname]/api/v3/user

Esta abordagem é útil se suas ferramentas são compatíveis apenas com a Autenticação Básica, mas você quer aproveitar os recursos de segurança do token de acesso do OAuth.

Por meio do nome de usuário e senha

Para usar a Autenticação Básica com a API do GitHub Enterprise Server, basta enviar o nome de usuário e senha associados à conta.

Por exemplo, se você estiver acessando a API via cURL, o comando a seguir faria a sua autenticação se substituísse <username> pelo seu nome de usuário de GitHub Enterprise Server. (cURL solicitará que você insira a senha.)

$ curl -u username http(s)://[hostname]/api/v3/user

Se você tem a autenticação de dois fatores ativada, certifique-se de entender como funciona com a autenticação de dois fatores.

Trabalhar com autenticação de dois fatores

Quando você tem a autenticação de dois fatores habilitada, a Autenticação básica para a maioria dos pontos de extremidade na API REST exige que você use um token de acesso pessoal ou token do OAuth em vez de seu nome de usuário e senha.

Você pode gerar um novo token de acesso pessoal ou usar o ponto de extremidade Criar uma nova autorização" na API de Autorização do OAuth para gerar um novo token do OAuth. Para obter mais informações, consulte "Criar um token de acesso pessoal para a linha de comando". Em seguida, você usaria esses tokens para efetuar a autenticação usando o token do OAuth com a API do GitHub. A única vez que você precisa efetuar a autenticação com seu nome de usuário e senha é quando você cria seu token do OAuth ou usa a API de Autorização do OAuth.

Usar a API de Autorização do OAuth com autenticação de dois fatores

Ao fazer chamadas para a API de Autorizações do OAuth, Autenticação básica exigirá que você use uma senha única (OTP) e seu nome de usuário e senha em vez de tokens. Ao tentar efetuar a autenticação com a API de Autorizações do OAuth, o servidor irá responder com 401 Unauthorized e um desses cabeçalhos para informar que você precisa de um código de autenticação de dois fatores:

X-GitHub-OTP: required; SMS or X-GitHub-OTP: required; app.

Este cabeçalho informa como a sua conta recebe seus códigos de autenticação de dois fatores. Dependendo de como você configurou a sua conta, você receberá seus códigos de OTP por SMS ou usará um aplicativo como o Google Authenticator ou o 1Password. Para obter mais informações, consulte "Configurar a autenticação de dois fatores". Passe o OTP no cabeçalho:

$ curl --request POST \
  --url https://api.github.com/authorizations \
  --header 'authorization: Basic PASSWORD' \
  --header 'content-type: application/json' \
  --header 'x-github-otp: OTP' \
  --data '{"scopes": ["public_repo"], "note": "test"}'