Was eine OAuth-Autorisierung tatsächlich ist
Wenn du bei einer Drittanbieter-App auf „Autorisieren“ klickst, zeichnet GitHub eine Genehmigung auf: Die App kann nun in deinem Namen innerhalb der von dir genehmigten Berechtigungen handeln. Diese Genehmigung ist nicht deine Browser-Sitzung, kein SSH-Schlüssel und keine installierte GitHub App mit eigenen Installationseinstellungen. Jede davon wird an einer anderen Stelle widerrufen oder entfernt. Der erste Schritt ist daher festzustellen, welche Art von Zugriff du tatsächlich vor dir hast.
| Was du siehst | Was es ist | Wo es verwaltet wird |
|---|---|---|
| Eine Drittanbieter-App mit von dir genehmigten Scopes | OAuth-Autorisierung | Einstellungen → Anwendungen → Autorisierte OAuth-Apps |
| Ein Schlüsselpaar, das du für Git über SSH hinzugefügt hast | SSH-Schlüssel | Einstellungen → SSH- und GPG-Schlüssel |
| Du bist in diesem Browser angemeldet | Login-Sitzung | Abmelden oder die Sitzungsseite |
| Eine App, die in einem Repository oder einer Organisation installiert ist | GitHub-App-Installation | Die Installationseinstellungen der App oder der Organisation |
Wenn der Eintrag, den du vor dir hast, keine OAuth-Autorisierung ist, wird ein Widerruf über die OAuth-Liste ihn nicht betreffen.
Warum du vor dem Widerrufen prüfen solltest
Eine alte Autorisierung kann noch etwas tun, auf das du dich verlässt, etwa ein Deployment-Tool, ein Editor-Plugin oder eine CI-Integration. Sie zu widerrufen, schneidet den Zugriff dieser App über die Genehmigung ab – das ist der Sinn der Sache –, kann aber auch einen Workflow beschädigen, der noch davon abhängt. Prüfe vor dem Handeln den App-Namen, die aufgeführten Berechtigungen und wann du die App zuletzt verwendet hast.
GitHub empfiehlt, autorisierte Anwendungen zu überprüfen, einschließlich Anwendungen mit Zugriff auf private Repositories. Quelle
Wenn du die App nicht erkennst oder der Zugriff, den sie hat, weiter reicht als die Aufgabe, die sie ausführt, ist das ein Fall für den Widerruf. Wenn du sie erkennst und noch verwendest, überlege, ob die aktuellen Scopes noch angemessen sind, bevor du dich entscheidest.
Checkliste vor und nach dem Widerruf
Nutze sie als kurze Aufzeichnung, damit du erkennen kannst, was sich geändert hat, und einen Fehler bei Bedarf rückgängig machen kannst.
Vor dem Widerrufen
- Notiere den App-Namen und die angezeigten Berechtigungen, damit du denselben Eintrag später wiedererkennst.
- Prüfe, ob etwas, das du aktuell nutzt, von dieser App abhängt: ein Build, ein Deploy, ein Editor-Login, ein geplanter Job.
- Stelle sicher, dass du Autorisierte OAuth-Apps vor dir hast und nicht SSH-Schlüssel, Sitzungen oder installierte Apps.
- Entscheide, ob du eine bestimmte Autorisierung oder alle widerrufen möchtest.
Nach dem Widerrufen
- Lade die Seite Autorisierte OAuth-Apps neu und bestätige, dass der Eintrag verschwunden ist.
- Führe den Workflow, der die App genutzt hat, einmal aus und achte darauf, ob er dich jetzt zur erneuten Autorisierung auffordert. Diese Aufforderung ist das erwartete Zeichen dafür, dass die Genehmigung entfernt wurde.
- Wenn ein Workflow bricht und du ihn weiterhin brauchst, autorisiere bewusst erneut und prüfe die angeforderten Scopes.
- Behalte deine Kontowiederherstellungsmethode bei, bis du sicher bist, dass nichts anderes von dem widerrufenen Zugriff abhing.
So widerrufst du die Autorisierung
Öffne die Kontoeinstellungen, unter Integrationen den Punkt Anwendungen, dann Autorisierte OAuth-Apps, um den Zugriff zu prüfen. Quelle
Öffne aus der Liste das Menü für die bestimmte App, die du entfernen möchtest.
Eine nicht erkannte oder veraltete Autorisierung kann über das App-Menü widerrufen werden; die Seite bietet außerdem Alle widerrufen an. Quelle
Widerrufe den einzelnen Eintrag, wenn du nur eine App entfernen möchtest. Die Option Alle widerrufen ist dafür gedacht, wenn du die Liste geprüft hast und jede Autorisierung löschen möchtest; sie betrifft jede App auf dieser Seite, nicht nur die, die du gerade angesehen hast.
Grenzen, die du beachten solltest
- Widerrufen ist nicht Löschen. Das Entfernen der Genehmigung stoppt künftige Zugriffe über sie. Es entfernt keine Daten, die die App bereits außerhalb von GitHub gespeichert oder kopiert hat, und es ist keine Garantie für Löschung.
- Widerrufen ist nicht Abmelden. Deine Browser-Sitzung auf GitHub ist getrennt; das Widerrufen einer App meldet dich nicht ab, und das Abmelden widerruft keine App-Autorisierungen.
- Ein SSH-Schlüssel ist keine OAuth-App. Wenn der Zugriff, um den du dir Sorgen machst, ein Schlüssel ist, erfolgt das Entfernen in den Einstellungen für SSH- und GPG-Schlüssel, nicht unter Autorisierte OAuth-Apps.
- Eine installierte GitHub App ist nicht derselbe Eintrag. Zugriff auf Installationsebene wird dort verwaltet, wo die App installiert ist; prüfe das, wenn die App nicht in der OAuth-Liste erscheint.
- Eine Übereinstimmung bei einem öffentlichen Benutzernamen ist kein Beweis. Wenn du prüfst, ob ein Handle anderswo auftaucht, ist eine Übereinstimmung in einem öffentlichen Profil ein Hinweis, kein Nachweis von Eigentum. TraceSeek kann bekannte öffentliche Benutzernamen auf 3.000+ Plattformen nachschlagen, aber es kann deine GitHub-Einstellungen nicht für dich prüfen oder widerrufen.
Wann du eine Autorisierung als verdächtig behandeln solltest
Du brauchst keine dramatische Geschichte, um zu handeln. Die praktischen Signale sind: Du erkennst die App nicht, die Berechtigungen sind weiter gefasst als die Aufgabe, die sie ausführt, oder du kannst dich nicht erinnern, sie autorisiert zu haben. In diesen Fällen ist der Widerruf des bestimmten Eintrags ein sinnvoller Schritt, gefolgt von der Prüfung, ob etwas, auf das du dich verlässt, nicht mehr funktioniert. Wenn ein Workflow tatsächlich bricht, autorisiere erst dann erneut, wenn du bestätigt hast, dass es die erwartete App ist und die Scopes zu dem passen, was sie braucht.