Я настроил Asp. Net Core 3.1 Api-приложение, которое предоставляет токены пользователям.
У пользователей может быть несколько ролей. JWT содержит эти роли в требовании «Роль»:
Role: ["Finance", "Manager"]
Аутентификация работает, но я пытаюсь настроить авторизацию, используя:
services.AddAuthorization(options =>
{
options.AddPolicy("Admin", policy => policy.RequireRole("Admin"));
});
Моя проблема в том, что эта политика должна прочитать о существовании «Admin», которое является частью претензии «Role». Как я могу сделать политику, которая ищет элемент в массиве утверждений? Я пробовал RequireClaim, а также пытался связать его, как в policy.RequireClaim ("Роль"). RequireClaim ("Администратор") безрезультатно.