这个问题通常是由于缺少身份验证方案引起的。可以通过向IdentityServerOptions添加CookieAuthenticationScheme来解决此问题。以下是一个示例代码片段,展示如何添加身份验证方案:
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = "cookie";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("cookie")
.AddOpenIdConnect("oidc", options =>
{
// 配置OpenID Connect选项
});
在上面的示例中,我们添加了名为“cookie”的身份验证方案,并将其设置为DefaultAuthenticateScheme。您可以将其替换为您自己的身份验证方案。此外,我们还设置了DefaultChallengeScheme为“oidc”,表示在需要挑战时使用OpenID Connect身份验证方案。
希望这可以帮助您解决ASP.NET Core 6 identityserver (duende)的问题。