SAML-vs federated login mit OAuth
Was ist der Unterschied zwischen SAML und federated login mit OAuth? Welche Lösung macht mehr Sinn, wenn ein Unternehmen will, verwenden Sie ein Drittanbieter-webapp, und will aber auch single-sign-on und Authentifizierung Behörde?
InformationsquelleAutor der Frage Chung Wu | 2010-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie verschiedene Probleme zu lösen.
SAML ist eine Reihe von standards definiert wurden, um Informationen zu teilen, wer ein Benutzer ist, was seine Attribute sind, und geben Ihnen die Möglichkeit zu gewähren/verweigern von Zugriff auf etwas oder sogar eine Authentifizierung anfordern.
OAuth mehr über delegieren Zugang zu etwas. Sie sind grundsätzlich so dass jemand zu "handeln" wie du. Seine am häufigsten verwendet, um Zugang zu gewähren, api ' s, die etwas tun können, in Ihrem Namen.
Sie sind zwei völlig verschiedene Dinge.
Einige Beispiele, die helfen könnten, aus.
OAuth-denken Sie sich einen twitter. Können sagen, Sie sind mit Google Buzz und Twitter, und Sie wollen, schreiben Sie eine app, um der Lage sein, um die beiden synchron. Sie können grundsätzlich Vertrauen herzustellen zwischen Ihrer app und twitter. Ersten mal gehen Sie in link die app auf twitter, Sie tun das klassische Aufforderung zum log-in twitter, und dann das Dialogfeld zur Bestätigung erscheint und fragt "möchten Sie den Zugriff gewähren «der app-name»?", wenn Sie auf "ja" klicken, wird das Vertrauen geschaffen, und nun Ihre app handeln können, wie Sie auf Twitter. Es kann Lesen, Ihre Beiträge, sowie neue zu knüpfen.
SAML - Token SAML denken Sie an irgendeine Art von "Vertrag" zwischen zwei fremden Mitgliedschaft. In unserem Fall können wir die Nutzung von US Airways und Hertz. Es gibt keine gemeinsamen Satz von Anmeldeinformationen, die Sie von einem Ort zum anderen, sondern lässt sagen-Hertz-wollen wir Ihnen ein "Angebot" an US Airways. (Zugegeben, ich weiß, das ist ein extremes Beispiel, aber Bär mit mir). Nach dem Kauf eines Flug -, Sie bieten einen kostenlosen Mietwagen zu Ihrem Vorsitzenden Mitglieder. US Airways und Hertz würde setup eine form von Vertrauen, und eine Möglichkeit, den Benutzer zu identifizieren. In unserem Fall unsere "federated id" wäre die E-Mail-Adresse, und es würde ein one-way-set-of-trust-Hertz vertraut darauf, dass US Airways identity provider liefern ein token, ist eine genaue und sichere Weise. Nach der Buchung des Fluges US-Airways-identity-provider generiert ein token, und füllen Sie, wie Sie authentifiziert den Benutzer, als auch als "Attribute" über die person, in unserem Fall das wichtigste Attribut wäre sein status bei US Airways. Sobald die token aufgefüllt wurde, geht es es über irgendeine Art von Referenz, oder kodiert eine url, und sobald wir auf Hertz sieht es so aus, das token, validiert Sie und nun kann die kostenlosen Mietwagen.
Das problem mit dieser SAML-Beispiel ist, es ist nur ein spezialisierter Anwendungsfall von vielen. SAML ist ein standard und es gibt fast zu viele Möglichkeiten, die Sie implementieren können.
Alternativ, wenn Sie dont care über die Autorisierung, könnte man fast argumentieren, dass die Durchsetzung Authentifizierung über SAML und OpenID.
InformationsquelleAutor der Antwort Nix
Haben Sie einen Blick auf diese einfache Erklärung hier zusammengefasst:
Für Leute, die bequem mit OO-design-Pattern, ich glaube, es ist eine schöne Ergänzung zu wrapper-Muster. Denken FassadeDecorator und Proxy Muster. Grundsätzlich sind diese alle gleich, Sie sind nur Wrapper... der Unterschied ist Der Absicht jedes Muster.
Ähnlich, SAML, OAuth und OpenID alle erleichtern verschiedenen Absichten via gemeinsamen zugrunde liegenden Mechanismusdie Umleitung zu einem service-provider/identity Behörde für manche privat-Interaktion, gefolgt von der Umleitung der Ursprung third-party-app.
Suchen, um auf dem Netz finden Sie die überlappung zwischen den Protokollen " - Fähigkeiten. Authentifizierung über OAuth ist durchaus vernünftig. SSO über OAuth können nicht viel Sinn machen, obwohl, wie SAML und OpenID sind speziell darauf ausgerichtet, federated identity.
Um die Frage selbst, in einem Unternehmens-Kontext SAML-sounds besser geeignet als OAuth für SSO. Ich würde Wetten, wenn man sich an den Drittanbieter-apps, die Sie gerne zu integrieren, mit Ihrem "corporate Identity", Sie finden Sie bereits entwickelt, um die Integration mit SAML/LDAP/Radius etc. IMO OAuth ist, besser geeignet für Internet Interaktion zwischen Anwendungen oder vielleicht Anwendungen, bestehend aus einer Service-Orientierten Architektur in einer großen Unternehmensumgebung.
Autorisierungsregeln angegeben werden kann, in einem corporate-Umfeld aber auch in anderer Weise. LDAP ist ein übliches Werkzeug für diese. Organisation von Benutzern in Gruppen und die Zuordnung der Anwendung Privilegien gegen die Mitgliedschaft in der Gruppe ist ein weit verbreiteter Ansatz. Passiert einfach so, kann LDAP für die Authentifizierung verwendet werden zu können. Active Directory ist ein tolles Beispiel, obwohl ich lieber OpenLDAP.
InformationsquelleAutor der Antwort quickshiftin
SAML hat eine Vielzahl von "profile" zur Auswahl, damit die anderen Benutzer "anmelden", um Ihre Website. SAML-P oder SAML Passive ist sehr verbreitet und Recht einfach einzurichten. WS-Trust ist ähnlich und es ist auch erlaubt für die Föderation unter den websites.
OAuth ist konzipiert für die Zulassung. Lesen Sie hier mehr:
Was ist der Unterschied zwischen OpenID und OAuth?
InformationsquelleAutor der Antwort random65537
Sie Griff ein subtiler Fall
InformationsquelleAutor der Antwort yudis
SAML
ist für die Authentifizierung - hauptsächlich in Single-Sign-On Szenario.OAuth
ist für die Autorisierung der Ressourcen-Repräsentationen.JSON Web Token (JWT) ist eine alternative für die auf SAML XML-Tokens. JWT verwendet werden kann mit OAuth
Eine gute Referenz ist SAML vs. OAuth: Welche Soll ich Verwenden?
InformationsquelleAutor der Antwort Lijo
Den Bedingungen Föderation wirklich bedeutet Verbindung Identitäten in anderen Systemen. Es ist SSO-bezogenen, aber Sie sind nicht ganz das gleiche. Ich Fand diesen blog-Eintrag wirklich hilfreich in Bezug auf was die Föderation wirklich bedeutet.
InformationsquelleAutor der Antwort Jake miyazaki
Gefunden, Guter Artikel hier
SAML (Security Assertion Markup Language) ist ein Satz von standards zu erreichen, Single-Sign-On (SSO), Federation und Identity-Management.
Beispiel : Ein Benutzer (principal), authentifiziert mit einem Flug Buchungs-website, AirFlyer (identity provider), die SSO-Konfiguration per SAML mit einem shuttle-Buchung website,Shuttler (service-provider). Einmal authentifiziert, Flyer, kann der Benutzer die Buch-shuttles auf Shuttler ohne Authentifizierung
OAuth (Open Authorization) ist ein standard für die Autorisierung von Ressourcen. Es befasst sich nicht mit der Authentifizierung.
Beispiel : Ein Foto-sharing mobile app (OAuth-consumer), die ermöglicht Benutzern das importieren von Fotos aus Ihrem Instagram Konto (OAuth provider) sendet eine temporäre access-token oder-Taste, um das Foto-sharing-app, die läuft nach einigen Stunden.
InformationsquelleAutor der Antwort Jack Ryder