Есть ли способ устранить ошибку аутентификации oauth2 в минимальном чванстве API

Я работаю над минимальным API с чванством, и он отлично работает без какой-либо аутентификации. Но когда я добавляю аутентификацию, он показывает ошибку.

Это код, который я использовал.

appsettings.json

      {
  "AppSettings": {
"Token": "12345678912345678"
}

программа.cs

      builder.Services.AddSwaggerGen(x =>
{
x.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
{
    Description = "some description of the authorization mechanism",
    Name = "Authorization",
    In = ParameterLocation.Header,
    Type = SecuritySchemeType.ApiKey
});
x.AddSecurityRequirement(new OpenApiSecurityRequirement
{
    {
        new OpenApiSecurityScheme
        {
            Reference = new OpenApiReference
            {
                Id = "Bearer",
                Type = ReferenceType.SecurityScheme
            }
        },new List<string>()
    }
});
x.OperationFilter<SecurityRequirementsOperationFilter>();
});

И

      builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(x =>
{
    x.TokenValidationParameters = new TokenValidationParameters
    {
        ValidateIssuerSigningKey = true,
        IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration.GetSection("AppSettings:Token").Value)),
        ValidateIssuer = false,
        ValidateAudience = false
    };
});

Когда я запускаю проект, он показывает мне следующую ошибку

При закомментировании метода Operationfilter ошибка исчезает, но авторизация все равно не работает.

0 ответов

Другие вопросы по тегам