Acerca de la autenticación como GitHub App
Debes autenticarte como GitHub App para realizar solicitudes de API REST como la aplicación. Por ejemplo, si quieres usar la API para generar un token de acceso de instalación a fin de acceder a los recursos de la organización, enumerar las instalaciones entre cuentas de la aplicación o suspender una instalación de la aplicación, debes autenticarte como una aplicación.
Si un punto de conexión de la API REST necesita que te autentiques como una aplicación, la documentación de ese punto de conexión indicará que debes usar un JWT para acceder al punto de conexión. GraphQL API no admite consultas ni mutaciones que exijan autenticarse con un JWT.
Uso de un JSON Web Token (JWT) para autenticarse como GitHub App
-
Genera un JSON Web Token (JWT) para la aplicación. Para más información, consulta AUTOTITLE.
-
Incluye el JWT en el encabezado de la solicitud. En el ejemplo siguiente, reemplaza por el JWT.
curl --request GET \ --url "http(s)://HOSTNAME/api/v3/app/installations" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer YOUR_JWT" \ --header "X-GitHub-Api-Version: 2022-11-28"
Uso del SDK de Octokit.js para autenticarse como GitHub App
Puedes usar el SDK de Octokit.js de GitHub para autenticarte como una GitHub App. Una ventaja de usar el SDK para autenticarse es que no tienes que generar un JSON Web Token (JWT) personalmente. Además, el SDK se encargará de regenerar el JWT cuando expire.
Nota:
Debes instalar e importar para usar la biblioteca de Octokit.js. En el ejemplo siguiente se usan declaraciones import de acuerdo con ES6. Para más información sobre los diferentes métodos de instalación e importación, consulta Utilización en el repositorio octokit/octokit.
-
Consigue el identificador de la aplicación. Puedes encontrar el ID de la aplicación en la página de configuración de la GitHub App. Para obtener más información sobre cómo acceder a la página de configuración de tu GitHub App, consulta AUTOTITLE.
-
Genere una clave privada. Para más información, consulta AUTOTITLE.
-
Importa desde .
JavaScript import { App } from "octokit";import { App } from "octokit"; -
Cree una nueva instancia de . En el ejemplo siguiente, reemplaza por una referencia al identificador de la aplicación. Reemplaza por una referencia al valor de la clave privada de la aplicación.
JavaScript const app = new App({ appId: APP_ID, privateKey: PRIVATE_KEY, });const app = new App({ appId: APP_ID, privateKey: PRIVATE_KEY, }); -
Usa un método para realizar una solicitud a un punto de conexión de la API REST que necesite un JWT. Por ejemplo:
JavaScript await app.octokit.request("/app")await app.octokit.request("/app")