C# IdentityServer4.net core 2身份验证使用OpenIDConnect的多个实例
我使用的是iDinityServer4 Hybrid,如图所示- 问题- 我需要添加额外的项目访问。另一个.NETCore2WebAPI 我正在尝试-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
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”?)