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 para autenticação não devem pedir ou coletar credenciais de GitHub. 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 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 https://api.github.com/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

Observação: GitHub suspendeu a autenticação da senha para a API a partir de 13 de novembro 2020 para todas as contas de GitHub.com, incluindo as que estão em um plano de GitHub Free, GitHub Pro, GitHub Team ou GitHub Enterprise Cloud. Você deve efetuar a autenticação para a API de GitHub com um token da API, como um token de acesso do OAuth, token de acesso de instalação do aplicativo GitHub ou token de acesso pessoal, dependendo do que você precisa fazer com o token. Para obter mais informações, consulte "Solução de problemas".

Autenticar com o SSO do SAML

Observação: Integrações e aplicativos do OAuth que geram tokens em nome de terceiros são autorizados automaticamente.

Se você estiver usando a API para acessar uma organização que força o SSO do SAML para autenticação, você deverá criar um token de acesso pessoal (PAT) e autorizar o token para essa organização. Visite a URL especificada no X-GitHub-SSO para autorizar o token para a organização.

$ curl -v -H "Authorization: token TOKEN" https://api.github.com/repos/octodocs-test/test

> X-GitHub-SSO: required; url=https://github.com/orgs/octodocs-test/sso?authorization_request=AZSCKtL4U8yX1H3sCQIVnVgmjmon5fWxks5YrqhJgah0b2tlbl9pZM4EuMz4
{
  "message": "Resource protected by organization SAML enforcement. You must grant your personal token access to this organization.",
  "documentation_url": "https://docs.github.com"
}

Ao solicitar dados que poderiam vir de várias organizações (por exemplo, solicitando uma lista de problemas criados pelo usuário), o cabeçalho X-GitHub-SSO indica quais organizações exigem que você autorize seu token de acesso pessoal:

$ curl -v -H "Authorization: token TOKEN" https://api.github.com/user/issues

> X-GitHub-SSO: partial-results; organizations=21955855,20582480

O valor das organizações é uma lista de ID de organizações separada por vírgula para organizações para as quais exige-se a autorização do seu token de acesso pessoal.

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 pntos de extremidade na API REST exige que você use um token de acesso pessoal.

Você pode gerar um novo token de acesso pessoal usando as configurações de desenvolvedor de GitHub. 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 de GitHub.

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.