C# IdentityServer4.net core 2身份验证使用OpenIDConnect的多个实例

C# IdentityServer4.net core 2身份验证使用OpenIDConnect的多个实例,c#,asp.net-core,identityserver4,openid-connect,C#,Asp.net Core,Identityserver4,Openid Connect,我使用的是iDinityServer4 Hybrid,如图所示- 问题- 我需要添加额外的项目访问。另一个.NETCore2WebAPI 我正在尝试- services.AddAuthentication(options => { options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.Defaul

我使用的是iDinityServer4 Hybrid,如图所示-

问题- 我需要添加额外的项目访问。另一个.NETCore2WebAPI

我正在尝试-

   services.AddAuthentication(options =>
          {
              options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
              options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
          })
          .AddCookie()
           .AddOpenIdConnect(options =>
            {
                options.Authority = Configuration["IdentityServerAddress"];
                options.RequireHttpsMetadata = false;

                options.ClientId = "mvc";
                options.ClientSecret = "secret";

                options.ResponseType = "code id_token";
                options.Scope.Clear();
                options.Scope.Add("apiApp");
                options.Scope.Add("offline_access");

                options.GetClaimsFromUserInfoEndpoint = true;
                options.SaveTokens = true;
            }).AddOpenIdConnect(options =>
          {
              options.Authority = Configuration["IdentityServerAddress"];
              options.RequireHttpsMetadata = false;

              options.ClientId = "abiApp";
              options.ClientSecret = "secret";

              options.ResponseType = "code id_token";
              options.Scope.Clear();
              options.Scope.Add("abiApp");
              options.Scope.Add("offline_access");

              options.GetClaimsFromUserInfoEndpoint = true;
              options.SaveTokens = true;
          });
我得到-

InvalidOperationException:方案已存在:OpenIdConnect

没有它—

抱歉,出现错误:未经授权的\u客户端 无效范围

我需要创建两个不同项目的两个入口。
如何操作?

为每个配置分配不同的名称。您还可以将这些名称用于ASP.NET核心身份验证系统的其他部分,如
ChallengeAsync

.AddOpenIdConnect(“scheme1”,选项=>{…})
.AddOpenIdConnect(“scheme2”,选项=>{…});

该方案有一个默认定义-因此,我只是按照您的建议添加了一些名称-services.AddAuthentication(options=>{options.DefaultChallengeScheme=OpenIdConnectDefaults.AuthenticationScheme;}).AddCookie().AddOpenIdConnect(“mvc”,options=>{}.AddOpenIdConnect(“abiApp”,options=>{});没有这样的计划。这些是客户的名字。默认模式名为OpenIdConnect。仍在使用-抱歉,出现错误:未经授权的\u客户端无效范围。“未经授权的客户端”。。。“mvc”和“abiApp”是否都注册为客户端身份服务器?(是“abi”还是“api”?)