Informationen zu ablaufenden Benutzerzugriffstoken
Hinweis: Ablaufende Benutzerzugriffstoken sind derzeit ein optionales Feature und können Änderungen unterliegen. Weitere Informationen findest du unter Ablauf von Benutzer-zu-Server-Zugriffstoken für GitHub Apps.
Um eine regelmäßige Tokenrotation zu erzwingen und die Auswirkungen eines kompromittierten Token zu verringern, kannst du deine GitHub App so konfigurieren, dass ablaufende Benutzerzugriffstoken verwendet werden. Wenn deine App ablaufende Benutzerzugriffstoken verwendet, erhältst du beim Generieren eines Benutzerzugriffstokens ein Aktualisierungstoken. Das Benutzerzugriffstoken läuft nach acht Stunden ab, und das Aktualisierungstoken läuft nach sechs Monaten ab. Weitere Informationen findest du unter Generieren eines Benutzerzugriffstokens für eine GitHub-App.
Du kannst das Aktualisierungstoken verwenden, um ein neues Benutzerzugriffstoken und ein neues Aktualisierungstoken zu generieren. Nachdem du ein Aktualisierungstoken verwendet hast, funktionieren dieses Aktualisierungstoken und das alte Benutzerzugriffstoken nicht mehr.
Wenn dein Aktualisierungstoken abläuft, bevor du es verwendest, kannst du ein Benutzerzugriffstoken und ein Aktualisierungstoken neu generieren, indem du Benutzer durch den Webanwendungs- oder Gerätefluss senden. Weitere Informationen findest du unter Generieren eines Benutzerzugriffstokens für eine GitHub-App.
Konfigurieren deiner App für die Verwendung von ablaufenden Benutzerzugriffstoken
Bei Erstellung deiner App ist der Ablauf von Benutzerzugriffstoken aktiviert, es sei denn, du deaktivierst den Ablauf. Weitere Informationen findest du unter „Registrieren einer GitHub-App“. Du kannst diese Einstellung auch konfigurieren, nachdem die App erstellt wurde.
-
Klicke auf GitHub in der oberen rechten Ecke einer beliebigen Seite auf dein Profilfoto.
-
Navigieren Sie zu den Einstellungen für Ihr Konto.
- Klicken Sie bei einer App, die zu einem persönlichen Konto gehört, auf Einstellungen.
- Für eine App im Besitz einer Organisation:
- Klicke Sie auf Ihre Organisationen.
- Klicken Sie rechts neben der Organisation auf Einstellungen.
-
Klicke auf der linken Seitenleiste auf Entwicklereinstellungen.
-
Klicke auf der linken Randleiste auf GitHub Apps .
-
Klicke neben der GitHub App, die du ändern möchtest, auf Bearbeiten.
-
Klicke in der Randleiste GitHub Apps-Einstellungen auf Optionale Features.
-
Klicke neben „Ablauf von Benutzer-zu-Server-Token“ auf Anmelden oder Abmelden. Es kann einige Sekunden dauern, bis die Einstellung angewendet wird.
GitHub empfiehlt, dieses Feature zur Verbesserung der Sicherheit zu aktivieren.
Wenn du dich für ablaufende Benutzerzugriffstoken entscheidest, nachdem du bereits Benutzerzugriffstoken generiert hast, laufen die zuvor generierten Benutzerzugriffstoken nicht ab. Du kannst diese Token mithilfe des Endpunkts DELETE /applications/CLIENT_ID/token
löschen. Weitere Informationen findest du unter REST-API-Endpunkte für OAuth-Autorisierungen.
Aktualisieren eines Benutzerzugriffstokens mit einem Aktualisierungstoken
-
Stelle eine
POST
-Anforderung an diese URL zusammen mit den folgenden Abfrageparametern:http(s)://HOSTNAME/login/oauth/access_token
Query parameter (Abfrageparameter) type BESCHREIBUNG client_id
string
Erforderlich. Die Client-ID für deine GitHub App. Die Client-ID unterscheidet sich von der App-ID. Du findest die Client-ID auf der Einstellungsseite deiner App. client_secret
string
Erforderlich, sofern das Benutzerzugriffstoken nicht mithilfe des Geräteflusses generiert wurde. Der geheime Clientschlüssel für deine GitHub App grant_type
string
Erforderlich. Der Wert muss „refresh_token“ lauten. refresh_token
string
Erforderlich. Das Aktualisierungstoken, das du erhalten hast, als du ein Benutzerzugriffstoken generiert hast. -
GitHub gibt eine Antwort, die folgende Parameter enthält:
Antwortparameter type Beschreibung access_token
string
Das Benutzerzugriffstoken. Das Token beginnt mit ghu_
.expires_in
integer
Die Anzahl der Sekunden bis zum Ablauf des access_token
. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Der Wert ist immer28800
(8 Stunden).refresh_token
string
Das Aktualisierungstoken. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Das Token beginnt mit ghr_
.refresh_token_expires_in
integer
Die Anzahl der Sekunden bis zum Ablauf des refresh_token
. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Der Wert ist immer15897600
(6 Monate).scope
string
Die Bereiche für das Token. Dieser Wert ist immer eine leere Zeichenfolge. Im Gegensatz zu einem herkömmlichen OAuth-Token ist das Benutzerzugriffstoken auf die Berechtigungen beschränkt, die sowohl deiner App als auch den Benutzer*innen zugewiesen wurden. token_type
string
Der Tokentyp. Der Wert ist immer bearer
.