Wie fügt man einen IdentityServer (sprich idsvr1) als Client zu einem anderen IdentityServer hinzu (say idsvr2)? Ist es etwas wie das Folgende? (Unter der Annahme, dass der Code, den ich unten zeige, von idsvr2 ist)Hinzufügen eines Identityservers als Clinet zu einem anderen Identityserver
new Client
{
ClientName = "idsvr1",
Enabled = true,
ClientId = "customclient",
ClientSecrets = new List<Secret>
{
new Secret("secret".Sha256())
},
Flow = Flows.Custom,
AllowedScopes = new List<string>
{
"read"
},
AllowedCustomGrantTypes = new List<string>
{
"custom"
}
},
Wenn die Anforderung an IdentityServer1 mit einer speziellen Nutzlast kommt, mag ich diesen Anruf zu IdentityServer2 umleiten. Wo kann ich diesen Umleitungscode in IdentityServer1 plugintieren?
Welchen Flow muss ich verwenden, wenn ich Idsvr1 als Client in Idsvr2 konfiguriere? Mein Anwendungsfall ist, föderierte Identity Server zu erstellen. Sagen wir zum Beispiel, ich habe 2 Sicherheitszonen: Zone1 und Zone2. Jede Zone hat ihren eigenen Identity Server. Wenn Benutzer aus Zone2 versucht, auf eine Anwendung in Zone1 zuzugreifen, sollte Zone1 Identity Server Benutzer zu Zone2 Identity Server umleiten, um Zone2-Token zu erhalten (ähnlich wie ADFS-Föderation). –