Laden...

Authentifizierung zwischen ASP.NET Core MVC Anwendung und REST-API

Erstellt von HiGHteK vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.205 Views
H
HiGHteK Themenstarter:in
114 Beiträge seit 2007
vor 7 Jahren
Authentifizierung zwischen ASP.NET Core MVC Anwendung und REST-API

Hallo zusammen!

Folgendes Szenario bereitet mir nun schon einige Tage Kopfzerbrechen und ich komm mit den Informationen aus Suche und Dokumentation irgendwie nicht weiter und hoffe hier eine hilfreiche Anregung zu bekommen.
Es existiert ein REST-API basierend auf NancyFX, welche eine Authentifizierung mittels Forms-Authentication anbietet. Also ein Benutzer kann sich mittels Username + Password anmelden und dann verschiedene Aktionen durchführen.
Diese Schnittstelle soll langfristig sowohl von Webanwendungen wie auch Apps genutzt werden.

Der erste (Test)client soll dabei auf ASP.NET MVC Core basieren und hier beginnt mein Verständnissproblem. Während z.B. bei einer SPA der Client direkt mit der REST-Schnittstelle kommuniziert, geschieht dies ja bei der ASP.NET Anwendung nicht, da diese Anwendung sich nach meinem Verständnis zwischen Client und Schnittstelle befindet und die Kommunikation mit der Schnittstelle übernimmt. Und genau da liegt mein Problem...Denn so landen ja auch die Authentifizierungsinformationen nicht am Client sondern im Datenzugriff der ASP.NET Anwendung und ich müsste diese von Hand immer einem Benutzer zuordnen, was ich aber gern vermeiden wollen würde, da es sich nach meinem Verständnis nicht sauber anfühlt.
Vielmehr suchte ich bisher nach einer Art Möglichkeit, wo die ASP.NET Anwendung sich mehr wie ein Proxy verhält und die notwendigen Authentifizerungsinformationen mehr oder weniger durchschleust, so dass diese beim Nutzer liegen und von der Anwendung nur für die Kommunikation verwendet werden können.

Gibt es bereits vorhandene Möglichkeiten oder ist ein solches Vorgehen eher ungewöhnlich / nicht empfohlen? Gibt es im besten Fall Alternativen, weiterführende Informationen (Dokumentation, Tutorials, etc.) oder wenigstens einen (Fach)Begriff unter dem man dazu suchen kann?

Grüße, HiGHteK

16.834 Beiträge seit 2008
vor 7 Jahren

Bei solchen Szenarien verwendet man eher Token-basierte Authentifizierungsmechanismen wie OAuth 2.0, inbesondere wenn Apps mit im Spiel sind.
Forms hat hier viel zu viele Nachteile, zB. dass Cookies eben nur auf Domain-Ebene funktionieren.

H
HiGHteK Themenstarter:in
114 Beiträge seit 2007
vor 7 Jahren

Hallo Abt,

danke für die Informationen, dann kann ich zumindest darauf basierend schon mal meine Suche erweitern. Ich hoffe das sich dabei auch alle noch offenen Fragen erledigen bzw. das die Umsetzung im genannten Szenario sich aus den Informationen erschließt.

Kann evtl. noch jemand etwas dazu sagen, ob NancyFX sich für ein solches Szenario (tokenbasiert, OAuth2, etc.) eignet? Muss gestehen, dass ich mich mit dem Thema Authentifizierung und Autorisierung noch nicht so intensiv auseinander gesetzt habe und hier für weiterführende Links, Informatione und Co dankbar wäre.

Danke und Grüße,

HiGHteK

16.834 Beiträge seit 2008
vor 7 Jahren

Wenn Du nach "NancyFX Oauth" googlest solltest Du tausende von Treffer finden, was indiziert, dass es durchaus funktionieren könnte, wa?

H
HiGHteK Themenstarter:in
114 Beiträge seit 2007
vor 7 Jahren

Kaum zu glauben, aber die Idee hatte ich natürlich auch...
Trotzdem hat mich die Erfahrung gelehrt, dass die Anzahl der Googletreffer kein Indikator für die Qualität einer Umsetzung ist. Deswegen hatte ich die Frage nochmal hinterhergeschickt, weil hier sicher der ein oder andere schon mehr als eine REST-API mit Authentifizierung und Autorisierung umgesetzt hat und aus der Erfahrung heraus vielleicht noch etwas dazu sagen kann.
Aber ok, ich denk ich komm damit erstmal weiter und belass es dabei.

16.834 Beiträge seit 2008
vor 7 Jahren

.. dann nicht nur die Treffer zählen sondern auch anschauen 😃
Die ersten beiden Treffer sind Beispielprojekte von NancyFX mit OAuth2 auf GitHub, die man sich einfach ziehen und ausprobieren kann.

H
HiGHteK Themenstarter:in
114 Beiträge seit 2007
vor 7 Jahren

Ach die Treffer kann man sich auch anschauen?! 😉
Aber danke für die Hinweise, ich schau mir das alles nun mal in Ruhe an. Ist doch recht viel neues dabei..

M
177 Beiträge seit 2009
vor 7 Jahren

Bin am Handy, deshalb kurz. Ich werfe noch zwei weitere Begriffe in den raum, die in diesem Zusammenhang interessant sein könnten. Sts und sso (Security Token Service und Single sign on)