Planung zur Einrichtung eines IdentityServer und haben es für mehrere Ressourcen konfiguriert wie:Multiple Api Ressourcen
internal static IEnumerable<ApiResource> GetApiResources()
{
return new List<ApiResource>
{
new ApiResource()
{
Name = "API 1",
DisplayName = "API 1",
Description = "API 1 Access",
Scopes = new List<Scope>()
{
new Scope("public"), new Scope("write")
}
},
new ApiResource
{
Name = "API 2",
DisplayName = "API 2",
Description = "API 2 Access",
Scopes = new List<Scope>
{
new Scope("public"), new Scope("write")
}
}
};
}
dann Client 1 wird ein Zugriff auf API haben 1 nur und Client 2 wird ein Zugriff auf API-2 nur haben. Beide Clients haben den öffentlichen Bereich.
Würde etwas wie oben funktionieren oder sollte ich den Namen der Bereiche ändern und es für die einzelnen API-Ressourcen eindeutig machen?
Ist die Verwendung von 1 Identity/Authorization Server für mehrere APIs eine schlechte Idee?
Das ist, was ich auch denke, aber nicht der Client/Consumer muss der Umfang so konfiguriert haben: "Scope = api2.public". Ist das akzeptabel? Um den API-Namen freizulegen? – gnaungayan
absolut, das ist in Ordnung. Sie können die Bereiche aus dem Erkennungsdokument ('.well-known/openid-configuration') ausblenden, wenn Sie nicht möchten, dass sie für die Öffentlichkeit (' Scope.ShowInDiscoveryDocument = false') sofort sichtbar sind, sondern am Ende der Jeden Tag muss jeder Client seinen speziellen Bereichen ausgesetzt werden. – Lutando