Skip to main content

Authentifizieren als GitHub-App

Du kannst dich als GitHub App authentifizieren, um ein Zugriffstoken für die Installation zu erstellen oder deine App zu verwalten.

Informationen zur Authentifizierung als GitHub App

Du musst dich als GitHub App authentifizieren, um REST-API-Anforderungen als Anwendung zu erstellen. Wenn du beispielsweise die API verwenden möchtest, um ein Installationszugriffstoken für den Zugriff auf Organisationsressourcen zu generieren, Organisationsinstallationen für deine App aufzulisten oder eine App-Installation anzuhalten, musst du dich als App authentifizieren.

Wenn du dich für einen REST-API-Endpunkt als App authentifizieren musst, wird in der Dokumentation für den jeweiligen Endpunkt angegeben, dass für den Zugriff ein JWT erforderlich ist. Die GraphQL-API unterstützt keine Abfragen oder Mutationen, die eine Authentifizierung als App erfordern.

Verwenden eines JSON-Webtokens (JWT) zur Authentifizierung als GitHub App

  1. Generiere ein JSON-Webtoken (JWT) für deine App. Weitere Informationen findest du unter Generieren eines JSON Web Token (JWT) für eine GitHub-App.

  2. Füge das JWT in den Authorization-Header deiner Anforderung ein. Ersetze im folgenden Beispiel YOUR_JWT durch dein 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"
    

Verwenden des Octokit.js SDK zur Authentifizierung als GitHub App

Du kannst das Octokit.js SDK von GitHub verwenden, um dich als GitHub App zu authentifizieren. Ein Vorteil der Authentifizierung über das SDK besteht darin, dass du das JSON-Webtoken (JWT) nicht selbst generieren musst. Darüber hinaus kümmert sich das SDK um die Neugenerierung des JWT, wenn es abläuft.

Hinweis: Du musst octokit installieren und importieren, um die Octokit.js-Bibliothek nutzen zu können. Im folgenden Beispiel werden Importanweisungen gemäß ES6 verwendet. Weitere Informationen zu verschiedenen Installations- und Importmethoden findest du im Abschnitt zur Nutzung im octokit/octokit-Repository.

  1. Rufe die ID deiner App ab. Du findest die App-ID auf der Seite mit den Einstellungen für deine GitHub App. Weitere Informationen zum Aufrufen der Einstellungsseite für deine GitHub App findest du unter Ändern einer GitHub-App-Registrierung.

  2. Erstellen eines privaten Schlüssels. Weitere Informationen findest du unter Verwalten privater Schlüssel für GitHub-Apps.

  3. Importiere App aus octokit.

    JavaScript
    import { App } from "octokit";
    
  4. Erstelle eine neue App-Instanz. Ersetze APP_ID im folgenden Beispiel durch einen Verweis auf die ID deiner App. Ersetze PRIVATE_KEY durch einen Verweis auf den Wert des privaten Schlüssel deiner App.

    JavaScript
     const app = new App({
      appId: APP_ID,
      privateKey: PRIVATE_KEY,
    });
    
  5. Verwende eine octokit-Methode, um eine Anforderung an einen REST-API-Endpunkt zu senden, der ein JWT erfordert. Beispiel:

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