403 с после обновления до .net8C#

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

Сообщение Anonymous »

Я поддерживаю проект Asp.Net Core API, который использует сервер идентификации Duende с токенами носителя Jwt и доступ на основе ролей к конечным точкам.
После перемещения проекта в . net8 (обновление платформы Microsoft.AspNetCore.App до версии 8.0.7). Я начал получать ошибки 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 must be true for one of the following roles: (Admin)
Что-то не так с тем, как он читает роли из моего Jwt.

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

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

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

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

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

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