Jump to content
StefanWe

Unterschied OAUTH und OpenID Connect

Recommended Posts

Hallo,

 

ich versuche seit Tagen mich mit dem Thema OAUTH zu beschäftigen. (Nicht im Zusammenhang mit Azure) 

Wir bekommen eine Web App und die Entwickler möchten gerne OAUTH nutzen. Allerdings fehlen mir viele Grundlagen, die ich mir durch Recherche im Internet nicht zusammenreimen kann.

SAML hingegen kenn ich und nutze ich schon seit Jahren.

 

Wenn ich es richtig verstehe, ist oauth ein authorization Protokoll, aber nicht für Authentifizierung gedacht. Aber wie authentifiziert sich ein Anwender vorher? Der oauth Server kann ja nicht jedem x beliebigen ein Access Token ausstellen.

 

Woran erkenne ich, ob ich oauth, oder openid connect nutze?

Share this post


Link to post

Moin,

 

OAuth ist, wie du schon richtig sagst, ein Protokoll zur Autorisierung, nicht zur Authentifizierung. Es dient also dazu, bereits "angemeldeten" Identitäten den Zugriff auf zusätzliche Ressourcen zu gewähren: Ein Facebook-User könnte so seine eigenen Tweets nach Facebook übernehmen.

 

Die Session, die Norbert meint, ist diese:

[Woher kennt mich die Cloud? Die Folien | faq-o-matic.net]
https://www.faq-o-matic.net/2017/11/29/woher-kennt-mich-die-cloud-die-folien/

 

Tatsächlich wird OAuth bisweilen auch zur Authentifizierung verwendet, man kann das so hinbiegen (ich habe mich mit dem Teil selbst noch nicht beschäftigt). Die Hüter des Standards raten selbst aber davon ab:

 

[End User Authentication with OAuth 2.0 — OAuth]
https://oauth.net/articles/authentication/


Die Empfehlung lautet in solchen Fällen daher, auf OpenID Connect zu setzen. Aus Erfahrung rate ich dir, dazu intensiv mit deinem Anbieter zu sprechen. Ich erlebe es allzu oft, dass ein Applikationsanbieter kaum Kenntnisse von der Technik hat und dadurch am Ende ziemlichen Murks implementiert ...

 

Gruß, Nils

 

Share this post


Link to post
vor 11 Stunden schrieb NilsK:

Moin,

 

OAuth ist, wie du schon richtig sagst, ein Protokoll zur Autorisierung, nicht zur Authentifizierung. Es dient also dazu, bereits "angemeldeten" Identitäten den Zugriff auf zusätzliche Ressourcen zu gewähren: Ein Facebook-User könnte so seine eigenen Tweets nach Facebook übernehmen.

 

Die Session, die Norbert meint, ist diese:

[Woher kennt mich die Cloud? Die Folien | faq-o-matic.net]
https://www.faq-o-matic.net/2017/11/29/woher-kennt-mich-die-cloud-die-folien/

 

Tatsächlich wird OAuth bisweilen auch zur Authentifizierung verwendet, man kann das so hinbiegen (ich habe mich mit dem Teil selbst noch nicht beschäftigt). Die Hüter des Standards raten selbst aber davon ab:

 

[End User Authentication with OAuth 2.0 — OAuth]
https://oauth.net/articles/authentication/


Die Empfehlung lautet in solchen Fällen daher, auf OpenID Connect zu setzen. Aus Erfahrung rate ich dir, dazu intensiv mit deinem Anbieter zu sprechen. Ich erlebe es allzu oft, dass ein Applikationsanbieter kaum Kenntnisse von der Technik hat und dadurch am Ende ziemlichen Murks implementiert ...

 

Gruß, Nils

 

Hi Nils,

 

danke für das Feedback. Letzteres ist genau unser Ding. ich vermute, dass dort etwas entsteht, was nicht unbedingt viele durchblicken. Leider ist es sehr schwierig oauth know how zu finden. Wenn es um mehr geht, als seine eigene WebApp an Facebook oder Twitter anzubinden...

 

Unser Szenario soll wie folgt aussehen: 

Wir haben ein vorhandenes Extranet, welches über ein Forms basierte Anmeldemaske die "Kunden" authentifiziert. Dabei stehen die Benutzer und Kennwörter in einer Oracle DB. Die Forms Anmeldemaske ist auch irgendetwas von Oracle.

 

Nun soll in das Extranet ein Webplanner integriert werden. Dieser erfordert die Authorisierung über oauth. Was vom Ansatz auch gut ist. Nun fragen wir uns aber, wie wir das so integriert bekommen. Da wir ja derzeit keinen oauth Authorization Server haben.

 

Ich kann ja schlecht mich am Extranet über die Forms Anmeldung anmelden und irgendein oauth Authorization Server stellt dann das Ticket für den Benutzer zur Nutzung des WebPlanners aus.

Aktuell ist meine Idee, die Extranet Anmeldung auf einen Citrix Netscaler umzubauen, dieser würde ins Backend gegen einen LDAP Server prüfen (nicht Active Directory). Könnte dann aber auch für den Webplanner das oauth Ticket ausstellen, da der User ja generell über eine Sitzung Verfügt. 

 

Oder hab ich einen Denkfehler ?

 

 

Share this post


Link to post

Moin,

 

typischerweise wirst du sowas nicht hinbekommen, ohne beide Seiten - also beide Applikationshersteller - ins Boot zu holen. Vielleicht gibt es da schon Schnittstellen, die du nutzen kannst. Vielleicht müsste da aber auch erst was implementiert werden. Keine der modernen Auth*-Techniken bekommst du von außen nachträglich angekorkt, wenn das in den Applikationen nicht vorgesehen ist.

 

Ein Applikationshersteller sollte dich dabei unterstützen können, jedenfalls so weit, dass ein kundiger Dritter dir dabei helfen kann. Es kann nicht deine Aufgabe als Kunde sein, das alles selbst zu entwickeln.

 

Wer hat denn die bisherige Authentisierung des "Extranets" gebaut und auf welcher Technik beruht das?

 

Gruß, Nils

 

Share this post


Link to post
vor 4 Stunden schrieb NilsK:

Moin,

 

typischerweise wirst du sowas nicht hinbekommen, ohne beide Seiten - also beide Applikationshersteller - ins Boot zu holen. Vielleicht gibt es da schon Schnittstellen, die du nutzen kannst. Vielleicht müsste da aber auch erst was implementiert werden. Keine der modernen Auth*-Techniken bekommst du von außen nachträglich angekorkt, wenn das in den Applikationen nicht vorgesehen ist.

 

Ein Applikationshersteller sollte dich dabei unterstützen können, jedenfalls so weit, dass ein kundiger Dritter dir dabei helfen kann. Es kann nicht deine Aufgabe als Kunde sein, das alles selbst zu entwickeln.

 

Wer hat denn die bisherige Authentisierung des "Extranets" gebaut und auf welcher Technik beruht das?

 

Gruß, Nils

 

Ok, hätte ich dazusagen sollen, das Extranet ist von uns selbst entwickelt. ;)

Share this post


Link to post

Moin,

 

naja, dann ... baut euch eine Authentisierungsfunktion, die auf Open ID Connect beruht. Oder eine mit SAML, die dann die Drittsoftware über OAuth anspricht.

 

Gruß, Nils

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Werbepartner:



×
×
  • Create New...