Dieser Beitrag wurde ursprünglich auf meinem Blog veröffentlicht. Schauen Sie sich die Originalquelle über den folgenden Link an:
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.
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.
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:
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.
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.
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:
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.
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.
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:
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.
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.
OAuth verwenden:
OpenID Connect verwenden:
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 |
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.
OAuth 2.0 einfach erklärt
Was ist SAML?
OpenID Connect-Übersicht
Die Unterschiede verstehen: OAuth, SAML und OpenID Connect
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