Skip to main content
Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite ist möglicherweise noch nicht abgeschlossen. Aktuelle Informationen findest du in der englischsprachigen Dokumentation.

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 auf der Einstellungsseite für deine App die ID der App ab.

    • Für benutzereigene Apps lautet die Einstellungsseite https://github.com/settings/apps/APP-SLUG.
    • Für organisationseigene Apps lautet die Einstellungsseite https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG.

    Ersetze APP-SLUG durch den mit Platzhaltern versehenen Namen deiner App und ORGANIZATION durch den mit Platzhaltern versehenen Namen deiner Organisation. Beispiel: https://github.com/organizations/octo-org/settings/apps/octo-app.

  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. Zum Beispiel:

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