Skip to main content
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 atualizadas, acesse a documentação em inglês.

Autenticação na API REST

Você pode se autenticar na API REST para acessar mais pontos de extremidade e ter um limite de taxa mais alto.

Sobre autenticação

Muitos pontos de extremidade da API REST exigirão autenticação ou retornam informações adicionais se você estiver autenticado. Além disso, você pode fazer mais solicitações por hora quando estiver autenticado.

Você pode autenticar sua solicitação enviando um token no cabeçalho Authorization da solicitação. No seguinte exemplo, substitua YOUR-TOKEN por uma referência ao token:

curl --request GET \
--url "https://api.github.com/octocat" \
--header "Authorization: Bearer YOUR-TOKEN" \
--header "X-GitHub-Api-Version: 2022-11-28"

Observação: Na maioria dos casos, você pode usar Authorization: Bearer ou Authorization: token a fim de passar um token. No entanto, se estiver passando um JWT (token Web JSON), você deverá usar Authorization: Bearer.

Se você tentar usar um ponto de extremidade da API REST sem um token ou com um token que não tenha permissões suficientes, receberá uma resposta 404 Not Found ou 403 Forbidden.

Autenticar com um personal access token

Caso você deseje 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 token em vez de um personal access token (classic). Para obter mais informações sobre como criar um personal access token, confira "Managing your personal access tokens".

Se você usar um personal access token (classic) para acessar uma organização que impõe o SSO (logon único) do SAML para autenticação, precisará autorizar seu token após a criação. Os Fine-grained personal access tokens são autorizados durante a criação do token, antes que o acesso à organização seja permitido. Para obter mais informações, confira "Autorizar o uso de um token de acesso pessoal para uso com logon único SAML".

Se você não autorizar o personal access token (classic) para o SSO do SAML antes de tentar usá-lo para acessar uma organização que impõe o SSO do SAML, poderá receber o erro 404 Not Found ou 403 Forbidden. Se você receber o erro 403 Forbidden, siga a URL no cabeçalho X-GitHub-SSO para autorizar o token. A URL expira após uma hora. Se você solicitou dados que poderiam vir de várias organizações, a API não retornará os resultados das organizações que exigem o SSO do SAML. O cabeçalho X-GitHub-SSO indicará a ID das organizações que exigem a autorização de SSO do SAML do personal access token (classic). Por exemplo: X-GitHub-SSO: partial-results; organizations=21955855,20582480.

Autenticação com um token gerado por um aplicativo

Caso você deseje usar a API em nome de uma organização ou em nome de outro usuário, o GitHub recomenda que você use um GitHub App. Para obter mais informações, 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.

Os tokens de acesso criados por aplicativos são automaticamente autorizados para o SSO do SAML.

Usando a autenticação Básica

Alguns pontos de extremidade da API REST para os GitHub Apps e os OAuth Apps exigem que você use a autenticação básica para acessar o ponto de extremidade. Você usará a ID do cliente do aplicativo como o nome de usuário e o segredo do cliente do aplicativo como a senha.

Por exemplo:

curl --request POST \
--url "https://api.github.com/authorizations" \
--user ":" \
--header "X-GitHub-Api-Version: 2022-11-28"

Encontre a ID do cliente e gere um segredo do cliente na página de configurações do aplicativo. Para os GitHub Apps de propriedade do usuário, a página de configurações é https://github.com/settings/apps/APP-SLUG. Para os GitHub Apps de propriedade da organização, a página de configurações é https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG. Substitua APP-SLUG pelo nome com slug do seu aplicativo e ORGANIZATION pela nome com slug da sua organização. Por exemplo, https://github.com/organizations/octo-org/settings/apps/octo-app.

Como se autenticar em um fluxo de trabalho de 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. Para obter mais informações, confira "Autenticação automática de token".

Autenticação com um nome de usuário e uma senha

Não há suporte para a autenticação com um nome de usuário e uma senha. Se você tentar se autenticar com nome de usuário e uma senha, receberá um erro 4xx.

Leitura adicional