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 bei der REST-API

Du kannst dich bei der REST-API authentifizieren, um auf mehr Endpunkte zuzugreifen und ein höheres Ratenlimit zu erreichen.

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 "http(s)://HOSTNAME/api/v3/octocat" \
--header "Authorization: Bearer YOUR-TOKEN"

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. Weitere Informationen zum Erstellen eines personal access token findest du unter Managing your personal access tokens.

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.

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 "http(s)://HOSTNAME/api/v3/authorizations" \
--user ":"

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

GitHub empfiehlt die Verwendung eines Tokens anstelle eines Kennworts zur Authentifizierung bei der REST-API. Du hast mehr Kontrolle darüber, was ein Token tun kann, und du kannst ein Token jederzeit widerrufen. Du kannst dich jedoch auch bei der REST-API authentifizieren, indem du deinen Benutzernamen und dein Kennwort für die Standardauthentifizierung verwendest. Übergib hierfür deinen Benutzernamen und dein Kennwort mit der --user-Option:

curl --request GET \
--url "http(s)://HOSTNAME/api/v3/user" \
--user USERNAME:PASSWORD

Weiterführende Themen