ASP.NET MVC 中的默认身份验证方案

问题描述 投票:0回答:2

这是我收到的错误消息:

System.InvalidOperationException:未指定authenticationScheme,并且未找到DefaultForbidScheme。可以使用 AddAuthentication(string defaultScheme) 或 AddAuthentication(Action configureOptions) 设置默认方案。

我在控制器中使用的代码:

if (!user.Email.Equals("my Dummy Address"))
{
    return Forbid();
}

我正在使用以下代码...

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllers();

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddAuthentication(BearerTokenDefaults.AuthenticationScheme);

为什么我仍然收到“未指定身份验证方案”错误?

c# asp.net-mvc
2个回答
1
投票

尝试以这种方式指定身份验证方案:

builder.Services.AddAuthentication(ops =>{ops.DefaultAuthenticateScheme = openIdConnectDefaults.AuthenticationScheme;})

在此行之后

var app = builder.Build();
您可以添加
app.UseAuthentication();


app.UseAuthorization();


0
投票

找到解决方案...

builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddAuthentication().AddBearerToken(BearerTokenDefaults.AuthenticationScheme)
...
app.UseAuthentication();
app.UseAuthorization();
© www.soinside.com 2019 - 2024. All rights reserved.