Ich arbeite an einem Prototyp für eine Website Re-Architektur mit ASP.NET 5 und debattiere mit IdentityServer4 für meine Authentifizierung und Autorisierung. Ich habe eine Menge Beispiele und Artikel über die Einrichtung von IdentityServer3 und 4 gelesen und versuche, mich einzukapseln, wenn es die Anforderungen meines Kunden richtig erfüllt. Hier sind meine Anforderungen.asp.net 5 und IdentityServer4
Ich habe 3 Websites, die eine Genehmigung benötigen. Site 1 (abc.com) erfordert eine Windows-Authentifizierung und ist eine Kombination aus mvc- und webapi-Aufrufen, die Rollen (oder Rollen, die in Ansprüche konvertiert wurden) für die Autorisierung darstellen. Site 2 (def.com) ist eine vertrauenswürdige Site, die ein Login-Widget mit einem Benutzernamen/Passwort/Rememberme-Textfeld auf ihrer Site haben möchte, das den Benutzer bei der Übermittlung authentifizieren und an Site 3 (xyz.com) umleiten wird. Seite 3 wird auch eine eigene Anmeldeseite haben und eine Kombination aus mvc- und webapi-Anrufen unter Verwendung von Ansprüchen sein. Site 2 und 3 verwenden keine Windows-Authentifizierung und der Client möchte nicht, dass sie zum Anmeldebildschirm des Identitätsservers umleiten, sondern ihren eigenen Anmeldebildschirm haben und den Identitätsserver aus Code mit den Anmeldeinformationen zum Anmelden aufrufen.
Hier sind meine Fragen zu diesem Szenario und IdentityServer4.
- Kann Idsvr4 einen Client mit Windows-Authentifizierung und einen anderen mit Benutzername/Passwort-Authentifizierung behandeln?
- Wenn ja, gibt es einen Grund Fenster Auth in idsvr4 zu haben oder sollte es verwendet nur Standard Fenster Auth in der Webapp?
Kann idsvr4 eingerichtet werden, der Kunde hat die Benutzername/Passwort/rememberme Werte und geben sie durch den Code zu bekommen die richtigen jwt Token für beide mvc und WebAPI sammeln?
Wenn ja, kann es sie beide log in die mvc und WebAPI Anwendungen, die auf einem anderen Standort?
Wenn ja, ist dies eine Umgehung der eigentliche Zweck von identityserver4 und ist daher eine schlechte Idee?
Wenn dieses Szenario umgehen kann und ist eine gute Idee, wie würden ich Setup des Client, Bereiche und Code, um die Login über Code zu behandeln umzuleiten?
Beispiele sind groß und sehr willkommen, aber ich bin nicht einmal sicher, welche Wortschwall für dieses Szenario in die richtige Richtung mich so suchen, um zu verwenden, auch eine große Hilfe sein würde.
Dies könnte nützlich sein https://www.linkedin.com/pulse/securing-net-core-web-api-identityserver4-resource-owner-dalvandi?trk=mp-author-card –