2016-03-23 10 views
0

Ich bin an einem Punkt in einem Projekt, wo ich benötigt werden, um Anliegen/Gründe zu bringen, warum OAuth (oder sogar OpenID Connect) als den Weg gehen sollte zukünftige Web- und Native-Apps über die Verwendung von SAML.OAuth Vs SAML für moderne Web- und Native-Anwendungen

Die Dokumentation, die ich durchgearbeitet habe, spricht für die Einfachheit von OAuth (dem ich bestätigen kann), sagt aber nicht, dass es in SAML nicht möglich ist. Ich habe mit OAuth gearbeitet, und ich kann seine Einfachheit bestätigen, aber nicht mit SAML, aber ich weiß immer noch, dass es mit SAML möglich ist, aber ich denke, dass es in diesem Fall viel komplizierter ist.

Kann mir jemand auf eine autoritative Quelle verweisen, die diesen Anspruch geltend machen und beliebige Zahlen/Dokumente zugunsten von OAuth erstellen kann?

+0

OAuth eignet sich nicht für Nicht-Web-Anwendungen (Desktop- und mobile Anwendungen), da der Browser in allen realen Systemen erforderlich ist. –

+0

Gilt das nicht auch für SAML? – jwilleke

+0

10 Gründe warum OpenID Connect (https://ldapwiki.com/wiki/10%20Reasons%20Why%20OpenID%20Connect) – jwilleke

Antwort

2

SAML und WS-Fed sind Unternehmensprotokolle. Sie haben komplizierte Kryptographie-Standards. In den am häufigsten verwendeten Profilen benötigen sie Browserfunktionen, da das Protokoll über Browserweiterleitungen gesteuert wird. Das verwendete Token ist ein SAML-Token, basiert auf XML und kann groß sein.

Wenn Sie mit SaaS-Anwendungen, z. Salesforce, Workday unterstützen sie nur SAML.

SAML und WS-Fed unterstützen SOAP und WCF, keine Web-API.

OAuth ist ein leichtgewichtiges Protokoll, das für native Geräte (Headless, Desktop, WPF), mobile Anwendungen usw. geeignet ist. Es gibt keine Browserfunktionalität, daher können SAML usw. nicht verwendet werden. Auch diese Geräte sind nicht für komplexe Kryptographie geeignet.

OAuth hat eine Reihe von Profilen, z.B. Berechtigungscode gewähren (wo OpenID Connect ins Spiel kommt) und vertraulich (das hängt von der gegenseitigen Kenntnis eines geheimen Schlüssels ab).

Es unterstützt nur Web-API.

Das verwendete Token ist JWT - weit weniger Bandbreite.

Die Auswahl ist nach Anwendungsfall. Einer ist nicht "besser" als der andere.

Siehe die Szenarien hier - Authentication Scenarios for Azure AD.

+0

SalesForce unterstützt OpenID connect. https://help.salesforce.com/HTViewHelpDoc?id=sso_provider_openid_connect.htm&language=de_US%22 – jwilleke