Wat een OAuth-autorisatie eigenlijk is
Wanneer je op “Authorize” klikt bij een externe app, legt GitHub een machtiging vast: de app kan nu namens jou handelen binnen de rechten die je hebt goedgekeurd. Die machtiging is niet je browserinlogsessie, niet een SSH-sleutel en niet een geïnstalleerde GitHub App met eigen installatie-instellingen. Elk daarvan wordt op een andere plek ingetrokken of verwijderd, dus de eerste stap is vaststellen met welk soort toegang je eigenlijk te maken hebt.
| Wat je ziet | Wat het is | Waar het wordt beheerd |
|---|---|---|
| Een externe app met scopes die je hebt goedgekeurd | OAuth-autorisatie | Settings → Applications → Authorized OAuth Apps |
| Een sleutelpaar dat je hebt toegevoegd voor Git over SSH | SSH-sleutel | Settings → SSH and GPG keys |
| Je bent in deze browser ingelogd | Inlogsessie | Uitloggen, of de sessiepagina |
| Een app die op een repository of organisatie is geïnstalleerd | Installatie van een GitHub App | De installatie-instellingen van de app of organisatie |
Als de vermelding die je bekijkt geen OAuth-autorisatie is, lost intrekken via de OAuth-lijst het niet op.
Waarom je eerst controleert voordat je intrekt
Een oude autorisatie kan nog iets doen waar je op vertrouwt, zoals een deployment-tool, een editor-plugin of een CI-integratie. Intrekken snijdt de toegang van die app via de machtiging af, en dat is ook de bedoeling, maar het kan ook een workflow breken die er nog van afhankelijk is. Controleer de appnaam, de vermelde rechten en wanneer je de app voor het laatst hebt gebruikt voordat je iets doet.
GitHub raadt aan om geautoriseerde applicaties te controleren, inclusief applicaties met toegang tot privérepositories. Bron
Als je de app niet herkent, of als de toegang die hij heeft breder is dan de taak die hij uitvoert, is dat het geval om in te trekken. Als je de app wel herkent en nog gebruikt, overweeg dan of de huidige scopes nog passend zijn voordat je beslist.
Checklist voor en na
Gebruik dit als korte administratie zodat je kunt zien wat er is veranderd en een fout indien nodig kunt terugdraaien.
Voor het intrekken
- Noteer de appnaam en de getoonde rechten, zodat je dezelfde vermelding later herkent.
- Controleer of iets wat je nu gebruikt van die app afhangt: een build, een deploy, een editor-login, een geplande taak.
- Bevestig dat je naar Authorized OAuth Apps kijkt en niet naar SSH-sleutels, sessies of geïnstalleerde apps.
- Bepaal of je één specifieke autorisatie wilt intrekken of allemaal.
Na het intrekken
- Herlaad de pagina Authorized OAuth Apps en bevestig dat de vermelding weg is.
- Voer de workflow die de app gebruikte één keer uit en let op of er nu om herautorisatie wordt gevraagd. Die prompt is het verwachte teken dat de machtiging is verwijderd.
- Als een workflow breekt en je hebt hem nog nodig, autoriseer dan bewust opnieuw en controleer de scopes die worden aangevraagd.
- Houd je methode voor accountherstel achter de hand tot je zeker weet dat niets anders van de ingetrokken toegang afhing.
Hoe je de autorisatie intrekt
Open account Settings, Applications onder Integrations, en dan Authorized OAuth Apps om de toegang te controleren. Bron
Open in de lijst het menu voor de specifieke app die je wilt verwijderen.
Een onbekende of verouderde autorisatie kan via het appmenu worden ingetrokken; de pagina biedt ook Revoke all. Bron
Trek de afzonderlijke vermelding in als je maar één app wilt verwijderen. De optie Revoke all is bedoeld voor wanneer je de lijst hebt gecontroleerd en alle autorisaties wilt wissen; het beïnvloedt elke app op die pagina, niet alleen degene die je bekeek.
Grenzen om in gedachten te houden
- Intrekken is geen verwijderen. Het verwijderen van de machtiging stopt toekomstige toegang via die machtiging. Het verwijdert geen gegevens die de app al heeft opgeslagen of buiten GitHub heeft gekopieerd, en het is geen garantie op wissing.
- Intrekken is niet uitloggen. Je browsersessie op GitHub staat apart; een app intrekken logt je niet uit, en uitloggen trekt geen app-autorisaties in.
- Een SSH-sleutel is geen OAuth-app. Als de toegang waar je je zorgen over maakt een sleutel is, gebeurt het verwijderen daarvan in de instellingen voor SSH and GPG keys, niet in Authorized OAuth Apps.
- Een geïnstalleerde GitHub App is niet dezelfde vermelding. Toegang op installatieniveau wordt beheerd waar de app is geïnstalleerd, dus kijk daar als de app niet in de OAuth-lijst verschijnt.
- Een overeenkomst met een openbare gebruikersnaam is geen bewijs. Als je controleert of een gebruikersnaam elders voorkomt, is een overeenkomst op een openbaar profiel een aanwijzing, geen bewijs van eigenaarschap. TraceSeek kan bekende openbare gebruikersnamen opzoeken op meer dan 3.000 platforms, maar kan GitHub-instellingen niet voor je controleren of intrekken.
Wanneer je een autorisatie als verdacht moet behandelen
Je hebt geen dramatisch verhaal nodig om in actie te komen. De praktische signalen zijn: je herkent de app niet, de rechten zijn breder dan de taak die hij uitvoert, of je kunt je niet herinneren dat je hem hebt geautoriseerd. In die gevallen is het intrekken van de specifieke vermelding een redelijke stap, gevolgd door controleren of iets waar je op vertrouwt stopt met werken. Als een workflow wel breekt, autoriseer dan pas opnieuw nadat je hebt bevestigd dat het de app is die je verwacht en dat de scopes passen bij wat hij nodig heeft.