是否可以使用 Sustainsys.Saml2 在 Startup.cs 之外更改 SAML IdentityProvider 选项?

Is it possible to change SAML IdentityProvider options outside of Startup.cs using Sustainsys.Saml2?

是否可以在 ASP.NET 核心应用程序中使用 Sustainsys.Saml2 库在 Startup.cs class 之外为 Saml2 设置 IdentityProvider 选项(EntityId、MetadataLocation)?

在我的场景中,不同的客户需要不同的设置,因此我需要在运行时而不是应用程序启动时更改设置。

是的。您既可以更改 IdentityProvider 对象的设置,也可以从 IdentityProvider 字典中添加新的或删除旧的 Idps。不要更改 EntityId,因为它用作字典中的键。 Remove/add 改为新的。

您还可以使用通知来完全绕过内置的 Idp 列表,而是使用您自己的商店或即时创建 Idp 对象。

如果您使用元数据加载,您应该真正缓存它们,因为使用元数据加载创建一个元数据需要一个出站往返来下载元数据,然后才能使用。