Правильно. Вы можете только передать параметр ApplicationUser. Затем вытащите все это для токена. Рефакторинг улучшит мой код.
у защитить ASP.NET Core Web API с помощью JWT. Кроме того, я хотел бы иметь возможность использовать роли из полезной нагрузки токенов непосредственно в атрибутах действий контроллера.
Теперь, когда я узнал, как использовать его с политиками:
Authorize(Policy="CheckIfUserIsOfRoleX")
ControllerAction()...
Я хотел бы лучше иметь возможность использовать что-то обычное, как:
Authorize(Role="RoleX")
где Роль будет автоматически отображаться из полезной нагрузки JWT.
{
name: "somename",
roles: ["RoleX", "RoleY", "RoleZ"]
}
Итак, как проще всего это сделать в ASP.NET Core? Есть ли способ заставить это работать автоматически через некоторые настройки / сопоставления (если да, где его установить?) Или я должен, после проверки токена, перехватить генерациюClaimsIdentity
и добавить роли ролей вручную (если так, где / как это сделать?)?