Sobre tokens de acesso de instalação
Para autenticar como uma instalação de aplicativo, você deve gerar um token de acesso de instalação. Para obter mais informações sobre como autenticar como uma instalação de aplicativo, consulte Authenticating como uma instalação do aplicativo GitHub.
Observação
Em vez de gerar um token de acesso de instalação, você pode usar os SDKs do Octokit de GitHub para se autenticar como um app. O SDK cuidará da geração de um token de acesso de instalação para você e regenerará o token assim que ele expirar. Para obter mais informações sobre como autenticar como uma instalação de aplicativo, consulte Authenticating como uma instalação do aplicativo GitHub.
Mantenha o token de acesso de instalação seguro. Para saber mais, confira Práticas recomendadas para criar um aplicativo GitHub.
Observação
A partir de 27 de abril de 2026, GitHub iniciou um lançamento gradual de um formato sem estado (ghs_APPID_JWT) para todos os novos GitHub App tokens de instalação, tornando-os mais eficientes e melhorando a confiabilidade da superfície da nossa API. Se o aplicativo espera ou depende de tokens de instalação terem exatamente 40 caracteres, ele pode não lidar com esse novo formato de token corretamente. Agora você pode validar seus aplicativos e fluxos de trabalho usando um cabeçalho de solicitação temporária que permite habilitar o formato de token sob demanda. Para obter mais informações sobre o cabeçalho temporário, consulte o GitHub blog.
Como gerar um token de acesso de instalação
-
Gere um JWT (token Web JSON) para seu aplicativo. Para saber mais, confira Gerando um JWT (Token Web JSON) para um aplicativo GitHub.
-
Obtenha o ID da instalação com a qual você deseja autenticar.
Se você estiver respondendo a um evento de webhook, a carga útil do webhook incluirá o ID de instalação.
Você também pode usar a API REST para localizar o ID de uma instalação do seu aplicativo. Por exemplo, você pode obter uma ID de instalação com os
GET /users/{username}/installation,GET /repos/{owner}/{repo}/installation,GET /orgs/{org}/installationouGET /app/installationspontos de extremidade. Para saber mais, confira Pontos de extremidade da API REST para o GitHub Apps.Você também pode encontrar a ID do aplicativo acessando a página de configurações dele. A ID do aplicativo é diferente da ID do cliente. Para obter mais informações sobre como navegar até a página de configurações do seu GitHub App, consulte Modificando um registro de aplicativo GitHub.
-
Envie uma solicitação de
POSTda REST API para/app/installations/INSTALLATION_ID/access_tokens. Inclua o token Web JSON no cabeçalhoAuthorizationda solicitação. SubstituaINSTALLATION_IDpela ID de instalação com a qual você deseja autenticar.Por exemplo, envie esta solicitação de curl. Substitua
INSTALLATION_IDpela ID da instalação eJWTpelo token Web JSON:curl --request POST \ --url "http(s)://HOSTNAME/api/v3/app/installations/INSTALLATION_ID/access_tokens" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer JWT" \ --header "X-GitHub-Api-Version: 2026-03-10"Opcionalmente, você pode usar os parâmetros de corpo
repositoriesourepository_idspara especificar repositórios individuais que o token de acesso de instalação pode acessar. Se você não usarrepositoriesourepository_idspara conceder acesso a repositórios específicos, o token de acesso de instalação terá acesso a todos os repositórios aos quais a instalação tem acesso. O token de acesso de instalação não pode conceder acesso a repositórios aos quais a instalação não tem acesso. Você pode listar até 500 repositórios.Opcionalmente, use o corpo do parâmetro
permissionspara especificar as permissões que o token de acesso de instalação deve ter. Sepermissionsnão for especificado, o token de acesso de instalação receberá todas as permissões que foram concedidas ao aplicativo. O token de acesso de instalação não pode receber permissões que o aplicativo não recebeu.A resposta incluirá um token de acesso à instalação, a hora em que o token expira, as permissões que o token tem e os repositórios que o token pode acessar, se aplicável. O token de acesso de instalação expirará após 1 hora.
Para obter mais informações sobre esse ponto de extremidade, confira Pontos de extremidade da API REST para o GitHub Apps.
Observação
Na maioria dos casos, você pode usar
Authorization: BearerouAuthorization: tokena fim de passar um token. No entanto, se estiver passando um JWT (token Web JSON), você deverá usarAuthorization: Bearer.