Identityserver4 是否可以在应用程序启动后连接外部身份验证?
现在,我们在ConfigureServices中添加了外部身份验证,如下所示Identityserver4 是否可以在应用程序启动后连接外部身份验证?,identityserver4,openid-connect,ws-federation,federation,Identityserver4,Openid Connect,Ws Federation,Federation,现在,我们在ConfigureServices中添加了外部身份验证,如下所示 services.AddAuthentication(options => { options.DefaultScheme = "Cookies"; options.DefaultChallengeScheme = "oidc"; }) .AddCookie("Cookies") .AddO
services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies")
.AddOpenIdConnect(...
在启动期间,我检索所有联合配置(Oidc和WsFed),并将它们连接到ConfigureServices中
但是,想象一下一个多tennant场景,在添加新客户机的同时添加新的联合配置。我知道的唯一解决方案是回收应用程序,以便ConfigureServices可以再次运行,检索所需集成的条目,并为每个条目添加一个调用。如果不需要重新启动,这将非常有用。欢迎任何想法。您可以在一个应用程序中使用多个AddOpenIdConnect,您需要做的最重要的事情是确保每个URL都不同:
CallbackPath = new PathString("/signin-oidc");
SignedOutCallbackPath = new PathString("/signout-callback-oidc");
RemoteSignOutPath = new PathString("/signout-oidc");
但是,我不知道您是否可以在运行时动态添加/删除处理程序。是的,您可以动态添加模式,下面是一个示例
它的代码很旧,但仍然准确。请务必同时执行
postconfigure
步骤。这是另一个很好的答案。是的,也许我不清楚-我完全知道可以有多个联合会,我们已经有了一批Oidc和Wsfed。这是我想了解的动态添加。