Acerca de los tokens de acceso de instalación
Para autenticarte como instalación de una aplicación, debes generar un token de acceso para la instalación. Para obtener más información sobre la autenticación como una instalación de una aplicación de GitHub, consulte Autenticación como una instalación de una aplicación de GitHub.
Nota:
En lugar de generar un token de acceso para la instalación, puede usar los kits de desarrollo de software (SDK) de Octokit de GitHub para autenticarse como aplicación. El SDK se encargará de generar un token de acceso de instalación automáticamente y volverá a generar el token una vez que expire. Para obtener más información sobre la autenticación como una instalación de una aplicación de GitHub, consulte Autenticación como una instalación de una aplicación de GitHub.
Debes mantener el token de acceso de instalación protegido. Para más información, consulta Procedimientos recomendados para crear una aplicación de GitHub.
Nota:
A partir del 27 de abril de 2026, GitHub comenzó un despliegue gradual de un formato sin estado (ghs_APPID_JWT) para todos los tokens de instalación GitHub App emitidos recientemente, haciéndolos más eficientes y mejorando la fiabilidad de la superficie de nuestra API. Si la aplicación espera o se basa en tokens de instalación que tienen exactamente 40 caracteres, es posible que no controle correctamente este nuevo formato de token. Ahora puede validar las aplicaciones y los flujos de trabajo mediante un encabezado de solicitud temporal que le permite habilitar el formato de token a petición. Para obtener más información sobre el encabezado temporal, consulte el GitHub blog.
Generación de un token de acceso de instalación
-
Genera un JSON Web Token (JWT) para la aplicación. Para más información, consulta Generación de un token web JSON (JWT) para una aplicación de GitHub.
-
Consigue el identificador de la instalación con el que deseas autenticarte.
Si respondes a un evento de webhook, la carga del webhook incluirá el identificador de la instalación.
También puedes usar la API REST para buscar el identificador de una instalación de la aplicación. Por ejemplo, puede obtener un identificador de instalación con los
GET /users/{username}/installationpuntos de conexión ,GET /repos/{owner}/{repo}/installation,GET /orgs/{org}/installationoGET /app/installations. Esto último es necesario para buscar instalaciones en una cuenta empresarial. Para más información, consulta Puntos de conexión de la API de REST para GitHub Apps.Puedes encontrar el identificador de aplicación en la página de configuración de la aplicación. El id. de la aplicación es diferente del id. de cliente. Para obtener más información sobre cómo navegar a la página de configuración de GitHub App, vea Modificación de un registro de aplicación de GitHub.
-
Envía una solicitud de API REST
POSTa/app/installations/INSTALLATION_ID/access_tokens. Incluye tu JSON web token en el encabezadoAuthorizationde tu solicitud. ReemplazaINSTALLATION_IDpor el identificador de la instalación con el que deseas autenticarte.Por ejemplo, envía esta solicitud mediante el comando curl. Reemplaza
INSTALLATION_IDpor el identificador de la instalación yJWTpor JSON Web Token:curl --request POST \ --url "https://api.github.com/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, puedes utilizar los parámetros de cuerpo
repositoriesorepository_idspara especificar repositorios individuales a los que puede acceder el token de acceso a la instalación. Si no usasrepositoriesorepository_idspara conceder acceso a repositorios específicos, el token de acceso a la instalación tendrá acceso a todos los repositorios a los que se concedió acceso a la instalación. No se puede conceder acceso al token de acceso de instalación a los repositorios a los que no se ha concedido acceso a la instalación. Puede enumerar hasta 500 repositorios.Opcionalmente, usa el parámetro de cuerpo
permissionspara especificar los permisos que debe tener el token de acceso de instalación. Si no se especificapermissions, el token de acceso de instalación tendrá todos los permisos concedidos a la aplicación. No se pueden conceder al token de acceso a la instalación permisos que la aplicación no tenía concedidos.Los tokens de instalación para empresas no pueden ajustarse a un alcance específico. Solo tienen acceso a los permisos de empresa que se les han concedido y siempre reciben todos esos permisos.
La respuesta incluirá un token de acceso de instalación, la hora en que expira el token, los permisos que tiene el token y los repositorios a los que puede acceder el token, si es aplicable. El token de acceso de instalación expirará después de 1 hora.
Para más información sobre este punto de conexión, consulta Puntos de conexión de la API de REST para GitHub Apps.
Nota:
En la mayoría de los casos, puedes usar
Authorization: BeareroAuthorization: tokenpara pasar un token. Sin embargo, si vas a pasar un token web JSON (JWT), debes usarAuthorization: Bearer.