Skip to main content

Aktualisieren von Benutzerzugriffstoken

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.

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.

  1. Klicke auf GitHub in der oberen rechten Ecke einer beliebigen Seite auf dein Profilfoto.

  2. Navigiere zu den Einstellungen für dein Konto.

    • Klicken Sie bei einer App, die zu einem persönlichen Konto gehört, auf Einstellungen.
    • Für eine App im Besitz einer Organisation:
      1. Klicke auf Deine Organisationen.
      2. Klicke dann rechts neben der Organisation auf Einstellungen.
  3. Klicke auf der linken Seitenleiste auf Entwicklereinstellungen.

  4. Klicke auf der linken Randleiste auf GitHub Apps .

  5. Klicke neben der GitHub App, die du ändern möchtest, auf Bearbeiten.

  6. Klicke in der Randleiste GitHub Apps-Einstellungen auf Optionale Features.

  7. 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

  1. Stelle eine POST-Anforderung an diese URL zusammen mit den folgenden Abfrageparametern: https://github.com/login/oauth/access_token

    Query parameter (Abfrageparameter)typeBESCHREIBUNG
    client_idstringErforderlich. 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_secretstringErforderlich, sofern das Benutzerzugriffstoken nicht mithilfe des Geräteflusses generiert wurde. Der geheime Clientschlüssel für deine GitHub App
    grant_typestringErforderlich. Der Wert muss „refresh_token“ lauten.
    refresh_tokenstringErforderlich. Das Aktualisierungstoken, das du erhalten hast, als du ein Benutzerzugriffstoken generiert hast.
  2. GitHub gibt eine Antwort, die folgende Parameter enthält:

    AntwortparametertypeBeschreibung
    access_tokenstringDas Benutzerzugriffstoken. Das Token beginnt mit ghu_.
    expires_inintegerDie Anzahl der Sekunden bis zum Ablauf des access_token. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Der Wert ist immer 28800 (8 Stunden).
    refresh_tokenstringDas Aktualisierungstoken. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Das Token beginnt mit ghr_.
    refresh_token_expires_inintegerDie Anzahl der Sekunden bis zum Ablauf des refresh_token. Wenn du den Ablauf von Benutzerzugriffstoken deaktiviert hast, wird dieser Parameter ausgelassen. Der Wert ist immer 15897600 (6 Monate).
    scopestringDie 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_typestringDer Tokentyp. Der Wert ist immer bearer.