После перемещения проекта в . 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());
});
RolesAuthorizationRequirement:User.IsInRole должно иметь значение true для одной из следующих ролей: (Администратор)
Что-то не так с тем, как он считывает роли из моего Jwt.
Подробнее здесь: https://stackoverflow.com/questions/790 ... e-to-net-8
Мобильная версия