Skip to main content

Authentification en tant qu’application GitHub

Vous pouvez vous authentifier en tant qu’GitHub App afin de générer un jeton d’accès à l’installation ou de gérer votre application.

À propos de l’authentification en tant qu’GitHub App

Vous devez vous authentifier en tant que GitHub App afin d’effectuer des requêtes d’API REST en tant qu’application. Par exemple, si vous souhaitez utiliser l’API pour générer un jeton d’accès d’installation pour accéder aux ressources de l’organisation, répertorier les installations de votre application ou suspendre l’installation d’une application, vous devez vous authentifier en tant qu’application.

Si un point de terminaison d’API REST nécessite l’authentification en tant qu’application, la documentation de ce point de terminaison indique que vous devez utiliser un JWT pour accéder au point de terminaison. L’API GraphQL ne prend pas en charge les requêtes ou mutations qui nécessitent l’authentification en tant qu’application.

Utilisation d’un jeton web JSON (JWT) pour l’authentification en tant que GitHub App

  1. Générez un jeton web JSON (JWT) pour votre application. Pour plus d’informations, consultez « Génération d’un jeton web JSON (JWT) pour une application GitHub ».

  2. Incluez le JWT dans l’en-tête Authorization de votre demande. Dans l’exemple suivant, remplacez YOUR_JWT par votre JWT.

    curl --request GET \
    --url "https://api.github.com/app/installations" \
    --header "Accept: application/vnd.github+json" \
    --header "Authorization: Bearer YOUR_JWT" \
    --header "X-GitHub-Api-Version: 2022-11-28"
    

Utilisation du Kit de développement logiciel (SDK) Octokit.js pour s’authentifier en tant que GitHub App

Vous pouvez utiliser le SDK Octokit.js de GitHub pour vous authentifier en tant que GitHub App. L’un des avantages de l’utilisation du SDK pour vous authentifier est que vous n’avez pas besoin de générer vous-même un jeton web JSON (JWT). En outre, le SDK s’occupe de la régénération du JWT lorsqu’il expire.

Remarque : Vous devez installer et importer octokit pour utiliser la bibliothèque Octokit.js. L’exemple suivant utilise des instructions import conformément à ES6. Pour plus d’informations sur les différentes méthodes d’installation et d’importation, consultez Usage dans le dépôt octokit/octokit.

  1. Obtenez l’ID de votre application. Vous pouvez rechercher l’ID de l’application sur la page des paramètres de votre GitHub App. Pour plus d’informations sur la navigation vers la page des paramètres pour votre GitHub App, consultez « Modification d’une inscription d’application GitHub ».

  2. Générez une clé privée. Pour plus d’informations, consultez « Gestion des clés privées pour les applications GitHub ».

  3. Importez App depuis octokit.

    JavaScript
    import { App } from "octokit";
    
  4. Créez une nouvelle instance de App. Dans l’exemple suivant, remplacez APP_ID par une référence à l’ID de votre application. Remplacez PRIVATE_KEY par une référence à la valeur de la clé privée de votre application.

    JavaScript
     const app = new App({
      appId: APP_ID,
      privateKey: PRIVATE_KEY,
    });
    
  5. Utilisez une méthode octokit pour effectuer une demande à un point de terminaison d’API REST qui nécessite un JWT. Par exemple :

    JavaScript
    await app.octokit.request("/app")