/ / Einen Web-API-Dienst als zentralen Authentifizierungspunkt verwenden - asp.net, asp.net-web-api, asp.net-identität, thinktecture-ident-server

Verwenden eines Web-API-Dienstes als zentralen Authentifizierungspunkt - asp.net, asp.net-web-api, asp.net-identität, thinktecture-ident-server

Ich bin sehr neu in der Welt des Identitätsmanagements, also bitte schone mich. :)

Was ich gerne machen würde, ist mehrere zu habenClient (MVC) -Anwendungen, die mit einer einzelnen Web-API-Anwendung kommunizieren, um ihre Benutzer zu authentifizieren. In dieser Web-API-Anwendung möchte ich die ASP.NET-Identität verwenden, um mit einer Datenbank mit Benutzern zu kommunizieren.

Auf diese Weise könnte ich SSO für die Client-Anwendungen verwenden (schätze ich).

Ist das sinnvoll? Könnte mir jemand auf meinem Weg helfen, dies umzusetzen (Links sind natürlich auch willkommen)? Ich weiß nicht, ob Identitätsserver könnte mir helfen was ich will?

Und als Nebenfrage: Wenn ich das so umsetzen könnte, wie ich es möchte, wie gehe ich mit der gleichen Herkunftspolitik um?

Antworten:

3 für die Antwort № 1

Danke für die Hilfe. :)

Ich habe in den letzten Monaten selbst recherchiert und viel über das Identity Management gelernt. Vielen Dank auch an die Leute von IdentityServer (und ihren anderen Projekten).

Was ich schließlich getan habe, war folgendes (sehr kurz):

  • Identitätsserver wird als Provider für alle Client-Anwendungen verwendet. Der Cookie und die OIDC-Middleware werden verwendet.
  • Ich habe das benutzt ASP.NET Identity-Benutzerdienst Speichern der Benutzer in einer SQL Server-Datenbank. (Die IdentityServer-Konfiguration ist übrigens auch in einer Datenbank gespeichert.)
  • Ich richte einen Web-API-Dienst ein, der den ASP verwendet.NET Identity User Manager für die Benutzerkonfiguration (Passwort ändern, neue Benutzer anlegen, ...). Es verwendet die Bearer-Authentifizierung mit der Anwendung mit IdentityServer als Provider.
  • Als Anmerkung, IdentityManager wird als internes Admin-Tool zur Verwaltung aller Benutzer verwendet.

Wenn jemand Hilfe bei der Einrichtung seines Identitätsmanagementsystems sucht (und denkt, ich kann helfen): bitte fragen Sie. ;)


1 für die Antwort № 2

Viele Artikel zum aktiven Profil, z.B. Föderierte Sicherheit: Einrichten und Aufrufen eines mit ADFS 2.0 gesicherten WCF-Dienstes. Aber dieser Artikel geht davon aus, dass Sie AD verwenden möchten?

Ich vermute, Sie möchten ASP.NET Identity für die Bereitstellung verwenden?

IdentityServer OOTB unterstützt eine SQL-Datenbank und verfügt über eine grundlegende Benutzerbereitstellung. Benutzer können sich mit der Datenbank authentifizieren und WIF unterstützen.


1 für die Antwort № 3

Dieses Szenario ist auch nah an dem, was Sie brauchen, werfen Sie einen Blick auf die Antworten:

Wie man einen OWIN-Authentifizierungsserver mit einem MVC Web Api-Inhaltsserver und einer Android-Endbenutzer-APK implementiert

Ich empfehle auch, diesen Artikel zu lesen: Entkoppeln Sie den OWIN-Autorisierungsserver vom Ressourcenserver