Skip to main content

Authentification en tant qu’application

Vous devez vous authentifier en tant que 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.

  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  ».

  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 "http(s)://HOSTNAME/api/v3/app/installations" \
    --header "Accept: application/vnd.+json" \
    --header "Authorization: Bearer YOUR_JWT" \
    --header "X--Api-Version: 2022-11-28"
    

Vous pouvez utiliser le SDK Octokit.js de pour vous authentifier en tant que 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 App. Pour plus d’informations sur la navigation vers la page des paramètres pour votre App, consultez « Modification d’une inscription d’application  ».

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

  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")