Проблемы с добавлением схемы безопасности для удостоверений в NSwag OpenAPIDocument с ASP.NET Core 8C#

Место общения программистов C#
Ответить
Anonymous
 Проблемы с добавлением схемы безопасности для удостоверений в NSwag OpenAPIDocument с ASP.NET Core 8

Сообщение Anonymous »

Я работаю над проектом ASP.NET Core 8 и пытаюсь настроить документ OpenAPI с помощью NSwag. Я интегрировал инфраструктуру идентификации Microsoft для аутентификации, и у меня возникли проблемы с правильной настройкой схемы безопасности в методе AddOpenApiDocument, предоставленном NSwag.
Вот мой текущий код:

Код: Выделить всё

// ...

builder.Services.AddAuthentication()
.AddBearerToken(IdentityConstants.BearerScheme);

builder.Services.AddAuthorizationBuilder();

builder.Services.AddIdentityCore()
.AddEntityFrameworkStores()
.AddApiEndpoints();

builder.Services.AddAuthorization();

builder.Services.AddOpenApiDocument(doc =>
{
doc.AddSecurity("bearer", new OpenApiSecurityScheme
{
Type = OpenApiSecuritySchemeType.ApiKey,
Name = "Authorization",
In = OpenApiSecurityApiKeyLocation.Header,
Description = "Bearer token authorization header",
});

doc.OperationProcessors.Add(new AspNetCoreOperationSecurityScopeProcessor("bearer"));
});

// ...

app.MapIdentityApi();

// This is the endpoint, which returns a 401
app.MapGet("/", (ClaimsPrincipal user) => $"Hello {user.Identity!.Name}")
.RequireAuthorization();
Несмотря на эту конфигурацию, я получаю 401 (неавторизованный) от API.
Если у кого-нибудь есть опыт настройки NSwag и Identity для аутентификации в ASP .NET Core 8, буду очень признателен за ваши идеи и предложения. Заранее благодарю за помощь!

Подробнее здесь: https://stackoverflow.com/questions/769 ... ith-asp-ne
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»