这是我收到的错误消息:
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);
为什么我仍然收到“未指定身份验证方案”错误?
尝试以这种方式指定身份验证方案:
builder.Services.AddAuthentication(ops =>{ops.DefaultAuthenticateScheme = openIdConnectDefaults.AuthenticationScheme;})
在此行之后
var app = builder.Build();
您可以添加app.UseAuthentication();
app.UseAuthorization();
找到解决方案...
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddAuthentication().AddBearerToken(BearerTokenDefaults.AuthenticationScheme)
...
app.UseAuthentication();
app.UseAuthorization();