Ошибки HTTP 403 после обновления до .NET 8C#

Место общения программистов C#
Ответить
Anonymous
 Ошибки HTTP 403 после обновления до .NET 8

Сообщение Anonymous »

Я поддерживаю проект веб-API ASP.NET Core, который использует сервер Duende Identity Server с токенами носителя Jwt и доступ на основе ролей к конечным точкам.
После перемещения проекта в . NET 8 (обновив платформу Microsoft.AspNetCore.App до версии 8.0.7), я начал получать ошибки http 403.
Вот мое удостоверение, настроенное в builder.ConfigureServices ():

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

JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();

builder.Services
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer("Bearer", options =>
{
options.Authority = "id.YouDontNeedToKnow.example.com";

options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = false,
NameClaimType = "sub",
RoleClaimType = "role",
ValidTypes = [ "at+jwt" ]
};
});

builder.Services
.AddAuthorization(options =>
{
options.AddPolicy("Admin",
AuthorisationPolicies.Admin());
});
Отслеживая попадание конечной точки из Swagger, я обнаружил следующую ошибку:

RolesAuthorizationRequirement:User.IsInRole должно иметь значение true для одной из следующих ролей: (Администратор)

Что-то не так с тем, как он считывает роли из моего Jwt.

Подробнее здесь: https://stackoverflow.com/questions/790 ... e-to-net-8
Ответить

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

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

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

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

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