Informationen zur Authentifizierung
Viele REST-API-Endpunkte erfordern die Authentifizierung oder geben im Fall einer Authentifizierung zusätzliche Informationen zurück. Darüber hinaus kannst du mehr Anforderungen pro Stunde stellen, wenn du authentifiziert bist.
Du kannst deine Anforderung authentifizieren, indem du ein Token im Authorization
-Header deiner Anforderung sendest. Ersetze im folgenden Beispiel YOUR-TOKEN
durch einen Verweis auf dein Token:
curl --request GET \
--url "https://api.github.com/octocat" \
--header "Authorization: Bearer YOUR-TOKEN" \
--header "X-GitHub-Api-Version: 2022-11-28"
Hinweis: In den meisten Fällen kannst du Authorization: Bearer
oder Authorization: token
verwenden, um ein Token zu übergeben. Wenn du jedoch ein JWT (JSON Web Token) übergibst, musst du Authorization: Bearer
verwenden.
Wenn du versuchst, einen REST-API-Endpunkt ohne ein Token oder mit einem Token zu verwenden, das über unzureichende Berechtigungen verfügt, wird die Meldung 404 Not Found
oder 403 Forbidden
zurückgegeben.
Authentifizieren mit einem personal access token
Wenn du die GitHub-REST-API für den persönlichen Gebrauch verwenden möchtest, kannst du ein personal access token erstellen. GitHub empfiehlt nach Möglichkeit die Verwendung eines fine-grained personal access token anstelle eines personal access token (classic). Weitere Informationen zum Erstellen eines personal access token findest du unter Erstellen eines persönlichen Zugriffstokens.
Wenn du ein personal access token (classic) für den Zugriff auf eine Organisation verwendest, die einmaliges Anmelden (Single Sign-on, SSO) für die Authentifizierung erzwingt, musst du dein Token nach der Erstellung autorisieren. Fine-grained personal access token werden bei der Tokenerstellung autorisiert, bevor Zugriff auf die Organisation gewährt wird. Weitere Informationen findest du unter Ein persönliches Zugriffstoken für die Verwendung mit SAML Single Sign-On autorisieren.
Wenn du dein personal access token (classic) nicht für SAML SSO autorisierst, bevor du versuchst, damit auf eine Organisation zuzugreifen, die SAML SSO erzwingt, wird möglicherweise der Fehler 404 Not Found
oder 403 Forbidden
angezeigt. Wenn der Fehler 403 Forbidden
angezeigt wird, kannst du die URL im X-GitHub-SSO
-Header verwenden, um dein Token zu autorisieren. Die URL ist für eine Stunde gültig. Wenn du Daten angefordert hast, die aus mehreren Organisationen stammen könnten, gibt die API keine Ergebnisse von Organisationen zurück, die SAML SSO erfordern. Der X-GitHub-SSO
-Header gibt die ID der Organisationen an, die die SAML SSO-Autorisierung deiner personal access token (classic) erfordern. Beispiel: X-GitHub-SSO: partial-results; organizations=21955855,20582480
.
Authentifizieren mit einem von einer App generierten Token
Wenn du die API für eine Organisation oder im Namen anderer Benutzer*innen verwenden möchtest, empfiehlt GitHub, dass du eine GitHub App verwendest. Weitere Informationen findest du unter Informationen zur Authentifizierung mit einer GitHub-App.
Du kannst auch ein OAuth-Token mit einer OAuth App erstellen, um auf die REST-API zuzugreifen. GitHub empfiehlt jedoch, stattdessen eine GitHub App zu verwenden. GitHub Apps ermöglichen mehr Kontrolle über den Zugriff und die Berechtigungen, über die die App verfügt.
Von Apps erstellte Zugriffstoken werden automatisch für SAML SSO autorisiert.
Verwenden der Standardauthentifizierung
Für einige REST-API-Endpunkte für GitHub Apps und OAuth Apps musst du die Standardauthentifizierung für den Zugriff auf den Endpunkt verwenden. Du verwendest die Client-ID der App als Benutzernamen und den geheimen Clientschlüssel der App als Kennwort.
Beispiel:
curl --request POST \
--url "https://api.github.com/authorizations" \
--user ":" \
--header "X-GitHub-Api-Version: 2022-11-28"
Du kannst die Client-ID ermitteln und einen geheimen Clientschlüssel auf der Einstellungsseite für deine App generieren. Für GitHub Apps im Besitz von Benutzer*innen ist https://github.com/settings/apps/APP-SLUG
die Einstellungsseite. Für GitHub Apps im Besitz von Organisationen ist https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
die Einstellungsseite. 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
.
Authentifizieren in einem GitHub Actions-Workflow
Wenn du die API in einem GitHub Actions-Workflow verwenden möchtest, empfiehlt GitHub, dass du dich mit dem integrierten GITHUB_TOKEN
authentifizierst, anstatt ein Token zu erstellen. Du kannst den GITHUB_TOKEN
mit dem Schlüssel permissions
Berechtigungen erteilen. Weitere Informationen findest du unter Automatische Tokenauthentifizierung.
Authentifizieren mit Benutzername und Kennwort
Die Authentifizierung mit dem Benutzernamen und Kennwort wird nicht unterstützt. Wenn du versuchst, dich mit deinem Benutzernamen und Kennwort zu authentifizieren, wird ein 4xx-Fehler angezeigt.