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
-
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.
-
Füge das JWT in den
Authorization
-Header deiner Anforderung ein. Ersetze im folgenden BeispielYOUR_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.
-
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.
-
Erstellen eines privaten Schlüssels. Weitere Informationen findest du unter Verwalten privater Schlüssel für GitHub-Apps.
-
Importiere
App
ausoctokit
.JavaScript import { App } from "octokit";
import { App } from "octokit";
-
Erstelle eine neue
App
-Instanz. ErsetzeAPP_ID
im folgenden Beispiel durch einen Verweis auf die ID deiner App. ErsetzePRIVATE_KEY
durch einen Verweis auf den Wert des privaten Schlüssel deiner App.JavaScript const app = new App({ appId: APP_ID, privateKey: PRIVATE_KEY, });
const app = new App({ appId: APP_ID, privateKey: PRIVATE_KEY, });
-
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")
await app.octokit.request("/app")