„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > SAML vs. OAuth vs. OpenID Connect

SAML vs. OAuth vs. OpenID Connect

Veröffentlicht am 06.11.2024
Durchsuche:411

Dieser Beitrag wurde ursprünglich auf meinem Blog veröffentlicht. Schauen Sie sich die Originalquelle über den folgenden Link an:

SAML vs. OAuth vs. OpenID Connect

SAML vs. OAuth vs. OpenID Connect

In diesem Artikel werden SAML, OAuth und OpenID Connect, ihre Anwendungsfälle und wie sie miteinander interagieren, untersucht

SAML vs. OAuth vs. OpenID Connect rahulvijayvergiya.hashnode.dev

Authentifizierung und Autorisierung sind entscheidend für die Gewährleistung der Sicherheit von Anwendungen und Daten. Drei weit verbreitete Protokolle zur Verwaltung dieser Prozesse sind OAuth, SAML und OpenID.

Wenn Sie Apps wie Facebook, Google oder LinkedIn verwenden, um sich bei anderen Websites anzumelden, stoßen Sie auf einige wichtige Protokolle: OAuth, SAML und OpenID Connect . Diese Protokolle tragen dazu bei, Ihre Informationen zu schützen und ermöglichen Ihnen gleichzeitig den Zugriff auf verschiedene Dienste.

1. SAML (Security Assertion Markup Language)

SAML ist ein offener Standard für den Austausch von Authentifizierungs- und Autorisierungsdaten zwischen Parteien, insbesondere zwischen einem Identitätsanbieter (IdP) und einem Dienstanbieter (SP). Es wird hauptsächlich für Single-Sign-On-Szenarien (SSO) verwendet und ermöglicht es Benutzern, sich einmal zu authentifizieren und Zugriff auf mehrere Anwendungen zu erhalten.

So funktioniert SAML

Rollen/Akteure:

  • Benutzer: Die Person, die auf die Anwendungen zugreift.

  • Identitätsanbieter (IdP): Der Dienst, der den Benutzer authentifiziert und die Identitätszusicherungen bereitstellt.

  • Dienstanbieter (SP): Die Anwendung oder der Dienst, auf den der Benutzer zugreifen möchte.

Ablaufdiagramm anfordern:

SAML vs. OAuth vs. OpenID Connect

Hauptmerkmale von SAML

  • Single Sign-On (SSO): Benutzer authentifizieren sich einmal für mehrere Dienste.

  • XML-basiert: Verwendet XML für Nachrichten und macht es robust.

  • Sichere Behauptungen: Überträgt Benutzeridentität und Attribute sicher.


2. OAuth (Offene Autorisierung)

OAuth ist ein offener Standard für die Zugriffsdelegierung, der häufig für die tokenbasierte Authentifizierung und Autorisierung verwendet wird. Es ermöglicht Anwendungen von Drittanbietern den Zugriff auf Benutzerdaten, ohne deren Anmeldeinformationen preiszugeben. OAuth wird hauptsächlich zur Autorisierung verwendet und ermöglicht es Benutzern, einer anderen Site eingeschränkten Zugriff auf ihre auf einer Site gehosteten Ressourcen zu gewähren.

So funktioniert OAuth

Rollen/Akteure:

  • Ressourceneigentümer: Der Benutzer, der die Daten besitzt und Zugriff darauf gewährt.

  • Ressourcenserver: Der Server, der die Daten des Benutzers hostet (z. B. Google, Facebook).

  • Client: Die Drittanbieteranwendung, die Zugriff auf die Daten des Benutzers anfordert.

  • Autorisierungsserver: Der Server, der für die Ausstellung von Zugriffstokens an den Client nach der Authentifizierung des Ressourcenbesitzers verantwortlich ist.

Ablaufdiagramm anfordern:

SAML vs. OAuth vs. OpenID Connect

Hauptmerkmale von OAuth

  • Delegierter Zugriff: Benutzer können Zugriff gewähren, ohne Anmeldeinformationen weiterzugeben.

  • Zugriffstoken: Kurzlebige Token, die die Zugriffsdauer begrenzen.

  • Bereiche: Definieren Sie den Umfang des dem Client gewährten Zugriffs.


3. OpenID Connect

OpenID Connect ist eine Authentifizierungsebene, die auf OAuth 2.0 aufbaut. Es fügt eine Identitätsüberprüfung hinzu und bietet Clients die Möglichkeit, die Identität des Benutzers basierend auf der von einem Autorisierungsserver durchgeführten Authentifizierung zu überprüfen.

So funktioniert OpenID Connect

Rollen/Akteure:

  • Endbenutzer: Der Benutzer, der sich authentifizieren möchte.

  • Client: Die Anwendung, die eine Benutzerauthentifizierung anfordert.

  • Autorisierungsserver: Der Server, der den Benutzer authentifiziert und Token ausstellt.

Ablaufdiagramm anfordern:

SAML vs. OAuth vs. OpenID Connect

Hauptmerkmale von OpenID Connect

  • ID-Tokens: JWTs, die Benutzerinformationen und Ansprüche bereitstellen.

  • Nahtlose Integration mit OAuth: Kombiniert Authentifizierung und Autorisierung.

  • Benutzerinfo-Endpunkt: Ermöglicht das Abrufen zusätzlicher Benutzerinformationen.

OpenID Connect und OAuth

Scheint ähnlich, aber beide dienen unterschiedlichen, aber ergänzenden Zwecken:

  • OAuth: Wird für die Autorisierung verwendet. Damit können Apps auf Ressourcen (wie Ihr Profil oder Fotos) von einem anderen Dienst (z. B. Facebook oder Google) zugreifen, ohne dass Sie Ihr Passwort benötigen. Verwenden Sie OAuth, wenn Sie eingeschränkten Zugriff auf Ihre Daten gewähren möchten (z. B. wenn eine Drittanbieter-App auf Ihren Kalender zugreift).

  • OpenID Connect (OIDC): Aufbauend auf OAuth, wird es für die Authentifizierung verwendet. Es überprüft Ihre Identität und ermöglicht Apps, zu erfahren, wer Sie sind. Verwenden Sie OpenID Connect, wenn Sie sich über einen Dienst wie Google bei einer Website oder App anmelden müssen, um zu beweisen, wer Sie sind.

Wann zu verwenden:

  • OAuth verwenden:

    • Wenn Sie möchten, dass eine App in Ihrem Namen auf Daten oder Ressourcen zugreift (z. B. eine App, die für Sie auf Twitter postet).
    • "Kann diese App auf meine Daten zugreifen?" (Genehmigung)
  • OpenID Connect verwenden:

    • Wenn Sie die Identität eines Nutzers überprüfen müssen (z. B. Anmeldung auf einer Website mit Ihrem Google-Konto).
    • "Wer ist dieser Benutzer?" (Authentifizierung)

Schneller Vergleich von OAuth, SAML und OpenID Connect

Besonderheit OAuth SAML OpenID Connect
Zweck Genehmigung Authentifizierung Authentifizierung und Autorisierung
Format JSON, Token XML JSON
Anwendungsfälle API-Zugriff, mobile Apps Webanwendungen, SSO Web- und mobile Anwendungen
Komplexität Mäßig Hoch Mäßig
Benutzererfahrung Weiterleitungen zum IdP Weiterleitungen zum IdP Weiterleitungen zum Autorisierungsserver

Abschluss

Das Verständnis von OAuth, SAML und OpenID Connect ist für die Entwicklung sicherer Anwendungen, die die Benutzerauthentifizierung und -autorisierung effektiv handhaben, von entscheidender Bedeutung. Jedes Protokoll hat seinen Zweck: Es stellt sicher, dass Sie auf das zugreifen können, was Sie benötigen, und schützt gleichzeitig Ihre Daten.

Referenzen

  1. OAuth 2.0 einfach erklärt

  2. Was ist SAML?

  3. OpenID Connect-Übersicht

  4. Die Unterschiede verstehen: OAuth, SAML und OpenID Connect

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/rahulvijayvergiya/saml-vs-oauth-vs-openid-connect-29m4?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3