Wat is het verschil tussen OAuth, OpenID Connect en SAML?

Er zijn evenveel manieren om data te beveiligen als om ze aan te vallen. Van multi-factor authenticatie en single sign-on tot on-prem firewalls: er zijn legio mogelijkheden. Voor developers en IT-professionals vindt de keuze van hoe data en identiteiten moeten worden beveiligd nog eerder plaats. Daarbij gaat het om de standaard die moet worden geïmplementeerd om federatieve identity te beschermen.

De uiteindelijke beslissing ligt echter niet altijd meteen voor de hand. Velen hebben moeite om het verschil te bepalen tussen OAuth 2.0, OpenID Connect en Security Assertion Markup Language (SAML), die elk het federatieve proces van structuur voorzien. Dit artikel probeert duidelijkheid te verschaffen over wat deze standaarden inhouden, hoe ze zich tot elkaar verhouden en hoe organisaties ze het beste kunnen gebruiken.

We geven in een ander artikel een meer gerichte vergelijking tussen SAML en OAuth als dat hetgeen is waarnaar u op zoek bent.

De verschillen tussen standaarden

Het grootste verschil tussen deze drie is dat OAuth 2.0 bestaat uit een framework dat de autorisatie regelt voor een beschermde resource zoals een applicatie of een reeks bestanden, terwijl OpenID Connect en SAML beide industriestandaarden voor federatieve authenticatie zijn. Dit betekent dat OAuth 2.0 in fundamenteel andere situaties dan de twee andere standaarden wordt gebruikt (hieronder ziet u voorbeelden daarvan) en gelijktijdig kan worden gebruikt met OpenID Connect of SAML.

Maar door OpenID Connect of SAML onafhankelijk te gebruiken, kunnen organisaties gebruikersauthenticatie en single sign-on implementeren. Hoewel ze allebei met logins te maken hebben, hebben ze verschillende sterke en zwakke punten.

  • OpenID Connect is gebaseerd op het OAuth 2.0-protocol en gebruikt een extra JSON-webtoken (JWT), een zogenaamd ID-token, om gebieden te standaardiseren waarvoor OAuth 2.0 de keuze openlaat, zoals scopes en eindpuntdiscovery. De standaard is specifiek bedoeld voor gebruikersauthenticatie en wordt veel gebruikt om logins voor gebruikers mogelijk te maken op websites en mobiele apps voor consumenten.
  • SAML is onafhankelijk van OAuth en werkt in tegenstelling tot JWT met het uitwisselen van berichten voor authenticatie in een XML SAML-indeling. Deze standaard wordt vaker gebruikt om zakelijke gebruikers met één enkele login te laten inloggen bij meerdere applicaties.

OAuth 2.0. OpenID Connect of SAML

Denk eraan dat het er niet om gaat wélke standaard een organisatie moet gebruiken, maar wannéér elk daarvan moet worden geïmplementeerd. In een krachtige identityoplossing worden deze drie standaarden gebruikt om verschillende doeleinden te realiseren, afhankelijk van het soort activiteiten dat een organisatie moet beveiligen. Dit zijn de use cases voor elk van de drie standaarden:

OAuth 2.0: als u zich wel eens heeft aangemeld voor een nieuwe applicatie en ermee in heeft gestemd dat de applicatie automatisch contacten uit Facebook of uit uw telefoonlijst ophaalt, heeft u hoogstwaarschijnlijk gebruikgemaakt van OAuth 2.0. Deze standaard zorgt voor veilige gedelegeerde toegang. Dit betekent dat een applicatie acties kan ondernemen of toegang heeft tot hulpbronnen op een server namens de gebruiker, zonder dat de gebruiker de eigen inloggegevens hoeft te verstrekken. Dat is mogelijk doordat de identity provider (IdP) tokens doorgeeft aan applicaties van derden met goedkeuring van de gebruiker.

OpenID Connect: als u ooit Google heeft gebruikt om u aan te melden bij applicaties zoals YouTube of Facebook om in te loggen bij een winkelwagen, heeft u deze authenticatieoptie gebruikt. OpenID Connect is een open standaard die organisaties gebruiken voor authenticatie van gebruikers. IdP's maken er gebruik van zodat gebruikers zich kunnen aanmelden bij de IdP en vervolgens toegang krijgen tot andere websites en apps zonder te hoeven inloggen of hun inloggegevens te hoeven verstrekken.

SAML: u heeft hoogstwaarschijnlijk te maken gehad met SAML-authenticatie in de werkomgeving. Hiermee kunt u bijvoorbeeld inloggen bij het bedrijfsintranet of de IdP, waarna u toegang heeft tot tal van extra services zoals Salesforce, Box of Workday, zonder uw inloggegevens opnieuw te moeten invoeren. SAML is een op XML gebaseerde standaard voor het uitwisselen van authenticatie- en autorisatiegegevens tussen IdP's en serviceproviders om de identiteit en toestemmingen van de gebruiker te verifiëren, waarna toegang tot services wordt verleend of geweigerd.

Organisaties vertrouwen op webframeworks en protocollen zoals OAuth 2.0, OpenID en SAML om structuur en veiligheid aan te brengen voor federatieve identity. Weten wanneer u elk daarvan moet gebruiken, is een belangrijke stap voor het volledig beveiligen van de data van uw organisatie.

Wilt u graag meer weten?

SSO van Okta kan worden geïntegreerd met elke app of API, inclusief OpenID Connect en SAML.