Identityserver4 如何在服务启动后配置外部身份验证方案

Identityserver4 如何在服务启动后配置外部身份验证方案,identityserver4,Identityserver4,我想将我自己的identityserver4实例作为我在云中托管的服务的身份验证实例 我的具体场景是,我希望客户能够以自助服务的方式使用他们的ADF进行设置,类似于松弛、昂贵或允许这样做的方式 我知道联邦制是如何运作的。通常在ConfigureServices的启动中,您会添加以下内容 services.AddAuthentication() .AddCookie("cookie") .AddSaml2p("idp1", optio

我想将我自己的identityserver4实例作为我在云中托管的服务的身份验证实例

我的具体场景是,我希望客户能够以自助服务的方式使用他们的ADF进行设置,类似于松弛、昂贵或允许这样做的方式

我知道联邦制是如何运作的。通常在ConfigureServices的启动中,您会添加以下内容

services.AddAuthentication()
                .AddCookie("cookie")
                .AddSaml2p("idp1", options => {
                  .....
                .AddSaml2p("idp3", options => {
以此类推,我可以使用相同的方案在以后挑战外部ADF。但这只是并且总是发生在服务启动时。当客户稍后配置到其ADFS的连接时,我的服务已启动并正在运行,我不想重新启动我的服务来配置我的identityserver和外部提供程序之间的联合


有没有办法在不重新启动服务的情况下进行配置?

在我看来,有两个选项:

  • 或者——就像我在几年前做的那样,在出现类似上述情况之前——创建自己版本的身份验证处理程序(所需的更改很少),通过传递给
    ChallengeAsync()
    的属性接受参数。在OIDC的情况下,我需要覆盖的只是权限URL和客户端ID,因为我只使用
    ID\u令牌

    • 在我看来,有两种选择:

      • 或者——就像我在几年前做的那样,在出现类似上述情况之前——创建自己版本的身份验证处理程序(所需的更改很少),通过传递给
        ChallengeAsync()
        的属性接受参数。在OIDC的情况下,我需要覆盖的只是权限URL和客户端ID,因为我只使用
        ID\u令牌