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.

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

To use Basic Authentication with the GitHub Enterprise Server API, simply send the username and password associated with the account.

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

When you have two-factor authentication enabled, Basic Authentication for most endpoints in the REST API requires that you use a personal access token or OAuth token instead of your username and password.

You can generate a new personal access token or with the "[Create a new authorization][/rest/reference/oauth-authorizations#create-a-new-authorization]" endpoint in the OAuth Authorizations API to generate a new OAuth token. Para obter mais informações, consulte "Criar um token de acesso pessoal para a linha de comando". Then you would use these tokens to authenticate using OAuth token with the GitHub API. The only time you need to authenticate with your username and password is when you create your OAuth token or use the OAuth Authorizations API.

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"}'

Esse documento ajudou você?

Privacy policy

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.