Laden...

OWIN: Oauth WebApis sichern

Erstellt von Ahrimaan vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.808 Views
A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 8 Jahren
OWIN: Oauth WebApis sichern

Hallo zusammen,

ich brauche mal einen Denkanstoß :

Ich habe eine Authentication WebAPi die für mich die anmeldung gegen FB, Google usw. usw. erledigt.
Dazu eine WebApp die darüber sich anmeldet und nen Token bekommt.
Nun habe ich aber eine zB OrdersApi die als eigenständige API läuft aber das Authorise Attribute über jedem Controller hat.
Nun muss ja die OrdersApi mit der AuthApi sprechen und validieren, dass der Token der da kommt noch gültig ist.
Ich sehe es so, dass OAuth nie für eine verteilte Landschaft gedacht war....
Gibt es Lösungsansätze wie ich das evtl. per OWIN Lösen kann ?

Viele Grüße

16.807 Beiträge seit 2008
vor 8 Jahren

Reden wir von OAuth oder OAuth 2.0?

Gibt es Lösungsansätze wie ich das evtl. per OWIN Lösen kann ?

OWIN ist nur die Middleware; führt selbst aber weder Authentifizierung noch Authorisierung durch.
In der Middleware werden dafür aber entsprechende Provider - zB OAuth 2.0 - registriert.

Ich sehe es so, dass OAuth nie für eine verteilte Landschaft gedacht war....

OAuth 2.0 bzw. so gut wie alle Token-basierte Authentifizierungsmechanismen sind gerade zu perfekt für verteilte Landschaften.
Facebook, Google und Co sind alles verteilte Landschaften und verwenden alle OAuth 2.0.

Die einzelnen Services müssen nur der Quelle des Token und dessen Gültigkeit vertrauen und eben nicht immer einzeln eine Authentifizierung durchführen.

A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 8 Jahren

Hi Abt,

ja ich weiß das OWIn nur ne Middelware ist, diese habe ich aber durch die passenden Module ergänzt. (OAuth usw.)
Du weißt ja wahrscheinlich wie 😉
OWIN übernimmt also die Oauth/Oauth2 funktionalitäten für mich wie Token und Claims usw.

Die einzelnen Services müssen nur der Quelle des Token und dessen Gültigkeit vertrauen und eben nicht immer einzeln eine Authentifizierung durchführen.

Und genau da hakt es bei mir :
Wie "überrede" ich die Middleware meine AuthApi als Trust anzusehen bzw. mit welchen mitteln ?
Da suche ich praktische Ansätze.
Die WebApi direkt mit einem "CustomAuthorise" Attribut aufzurufen halte ich für weniger schön.

Wie machst du das also ?

Oder redest du davon, dass ich die funktionalität der AuthApi (Own app.useGoogle) in JEDE Api einbaue ?
Grüße

16.807 Beiträge seit 2008
vor 8 Jahren

Nein. Owin übernimmt nichts, sondern stellt nur Schnittstellen zur Verfügung, auf die sich die Provider registrieren.

Schau Dir mal das Beispiel an; vielleicht wird es Dir hier klarer:
https://github.com/tjoudeh/AngularJSAuthentication oder den Vortrag über OAuth für Microservices (nichts anderes willst Du): https://www.youtube.com/watch?v=BdKmZ7mPNns

Denk dran, dass APIs immer stateless sein sollten (nach REST Standards).

Edit zu Deinem Edit:
Ich habe eine WebAPI, die die Authentifizierung übernimmt; also die Serveroptions.

Alle anderen WebAPIs für das Verwalten von Ressourcen (userService, productService, orderService) haben keine eigene Authentifizierung sondern nur eine Authorisierung.
In diesen Services muss nur die Validierung des Tokens stattfinden via app.UseOAuthBearerTokens

A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 8 Jahren

Nein. Owin übernimmt nichts, sondern stellt nur Schnittstellen zur Verfügung, auf die sich die Provider registrieren.

Schau Dir mal das Beispiel an; vielleicht wird es Dir hier klarer:

>
oder den Vortrag über OAuth für Microservices (nichts anderes willst Du):
>

Denk dran, dass APIs immer stateless sein sollten (nach REST Standards).

Hi Abt,

lass uns nicht über begrifflichkeiten streiten, ich weiß wie OWIN den OAUTH Provider registiert und ab da an als mittler zwischen zB google und meiner API fungiert.
Ich gebe dir recht, dass ist kein "übernehmen" der Aufgaben.

Danke für das Youtube Video, genau das ist es was ich suche.

Grüße

16.807 Beiträge seit 2008
vor 8 Jahren

Naja, dann verwende die Begrifflichkeiten bitte korrekt 😃
Denn aus fachlicher Sicht ist das "übernehmen" eben falsch und kann missverstanden werden. Gerade bei Login-Dingen nicht soooo praktisch.
Und da ich eben nicht sehe, wie Du es meinst sondern nur lese, was Du schreibst, erwähne ich das eben.

Siehe auch mein Edit, der sich jetzt überschnitten hatte.
Schau Dir auch OWIN Authentication Server for multiple applications an, was im Prinzip genau das ist, was Du willst.

A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 8 Jahren

Naja, dann verwende die Begrifflichkeiten bitte korrekt 😃
Denn aus fachlicher Sicht ist das "übernehmen" eben falsch und kann missverstanden werden. Gerade bei Login-Dingen nicht soooo praktisch.
Und da ich eben nicht sehe, wie Du es meinst sondern nur lese, was Du schreibst, erwähne ich das eben.

Ich gelobe Besserung 😃

Siehe auch mein Edit, der sich jetzt überschnitten hatte.
Schau Dir auch
>
an, was im Prinzip genau das ist, was Du willst.

Zusammen mit dem Youtubevideo sollte ich damit zum Ziel kommen. Vielen Dank !

Grüße