OAuth-overzicht
OAuth (Open Authorization) is een verificatieprotocol waarmee gebruikers beperkte toegang tot hun bronnen op de ene website of applicatie kunnen verlenen aan een andere website of applicatie, zonder dat ze hun daadwerkelijke referenties hoeven te delen.
OAuth fungeert als een betrouwbare tussenpersoon waarmee u een dienst toegang kunt verlenen tot uw data van een andere dienst, zonder dat u uw gebruikersnaam en wachtwoord hoeft te onthullen. Dit document bevat een technische uitleg van de OAuth-workflow en een praktische OAuth-analogie.
OAuth-workflow
OAuth biedt gebruikers een veilige en gestandaardiseerde manier om toegang te verlenen tot hun data op verschillende websites en applicaties, zonder dat ze hun referenties hoeven te delen. Hiermee hebt u controle over welke diensten toegang hebben tot uw data en kunt u de toegang op elk gewenst moment intrekken.
De volgende lijst bevat een stapsgewijze uitleg van hoe OAuth werkt.
U (de gebruiker) wilt een website of applicatie (de zogenaamde 'client') gebruiken die toegang nodig heeft tot uw gegevens op een andere website of applicatie (de zogenaamde 'bronserver').
De client vraagt toestemming om toegang te krijgen tot uw data vanaf de bronserver. Meestal gebeurt dit door u om te leiden naar de aanmeldingspagina van de bronserver.
U voert uw referenties rechtstreeks in op de aanmeldingspagina van de bronserver. Deze stap is cruciaal omdat uw gebruikersnaam en wachtwoord nooit met de klant worden gedeeld.
De bronserver verifieert uw referenties en authenticeert u. Zodra de verificatie heeft plaatsgevonden, wordt er een uniek toegangstoken voor de client gegenereerd.
De bronserver stuurt u terug naar de clienttoepassing en verstrekt het toegangstoken samen met de omleiding.
De client ontvangt het toegangstoken en stuurt dit naar de bronserver wanneer deze toegang tot uw data nodig heeft.
De bronserver controleert de geldigheid van het toegangstoken. Als het token geldig is, geeft het de client gedurende een beperkte periode toegang tot de aangevraagde bronnen.
De client kan de verleende toegang gebruiken om uw data op de bronserver op te halen of te wijzigen, maar alleen binnen het bereik dat door het toegangstoken is gedefinieerd. Het bereik bepaalt tot welke acties en gegevens de client toegang heeft.
Als het toegangstoken verloopt of als de client aanvullende machtigingen nodig heeft, kan de client een nieuw toegangstoken aanvragen door het verificatieproces opnieuw te doorlopen.
Praktische OAuth-analogie
Hieronder volgt een analogie van hoe OAuth werkt aan de hand van een praktisch scenario.
Stel u voor dat u een feest geeft en een cateraar (de klant) wilt inhuren om het eten te verzorgen. U wilt de cateraar echter niet de sleutels van uw huis (uw referenties) geven, omdat hij dan toegang zou krijgen tot al uw persoonlijke bezittingen. U gebruikt dus een vertrouwde organisator voor feesten en evenementen (OAuth) om de toegang te beheren.
U vertelt de organisator dat u een cateraar wilt inhuren. De organisator weet hoe hij of zij de toegang tot uw huis en de diensten van de cateraar moet regelen.
De organisator neemt contact op met de cateraar en stuurt deze naar uw huis voor een gesprek. Op dat moment bent u niet thuis.
De cateraar komt bij u thuis aan, maar realiseert zich dat ze zonder uw toestemming (toegangsbewijs) niet naar binnen kunnen. Ze bellen u om toegang te vragen.
Als huiseigenaar wilt u de betrouwbaarheid van de cateraar verifiëren voordat u toegang verleent. U stelt de cateraar dus een aantal vragen om hun identiteit te bevestigen (verificatie).
Zodra u tevreden bent met de gegevens van de cateraar, geeft u de cateraar via de telefoon een tijdelijke toegangscode (toegangstoken). Met deze code mogen ze uw huis betreden en het eten bereiden, maar alleen binnen het kader van hun cateringtaken.
De cateraar komt met de toegangscode uw huis binnen en begint met de voorbereidingen voor het eten. Ze hebben toegang tot de keuken en de eetkamer, maar mogen andere kamers niet betreden.
Na een bepaalde periode of wanneer het feest afgelopen is, vervalt de toegangscode. Hierdoor kan de cateraar uw huis niet meer betreden zonder uw toestemming.
In dit scenario bent u (de huiseigenaar) de gebruiker, de cateraar is de clienttoepassing, uw huis vertegenwoordigt uw persoonlijke gegevens op de bronserver en de organisator van het feest is OAuth.
De toegangscode fungeert als toegangstoken, waarmee de klant (cateraar) beperkte toegang krijgt tot uw middelen (huis) zonder dat uw referenties (huissleutels) in gevaar komen.
OAuth fungeert als een betrouwbare tussenpersoon die het veilig delen van uw gegevens tussen services mogelijk maakt, terwijl u de controle over de toegangsrechten behoudt.