我正在使用IdenitityServer4 Hybrid,如下所示 - https://github.com/elanderson/Angular-Core-IdentityServer
问题 - 我需要添加其他项目才能访问 . 另一个.net核心2 web api .
我在尝试 -
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:Scheme已存在:OpenIdConnect
没有它 -
抱歉,出现错误:unauthorized_client无效范围
我需要创建两个不同项目的两个入口 . 我该怎么做?
1 回答
为每个配置分配不同的名称 . 您还可以将这些名称与ASP.NET Core身份验证系统的其他部分一起使用,例如
ChallengeAsync
.