Я нашел этот ресурс для создания AuthorizationHandler и последовал за его созданием. Мой обработчик проверяет given_name
, строковое значение и, если given_name
имеет значение "Bob"
, авторизация успешна.
Проблема, я не могу получить доступ к требованию given_name
и его стоимости. Я вижу все ожидаемые утверждения, когда проверяю context.User
, но context.User.HasClaim(c => c.Type == ClaimTypes.GivenName)
всегда возвращает false.
Как проверить наличие претензии и узнать ее стоимость?
Обновление. В качестве обходного пути я могу получить доступ ко всем утверждениям, вызвав .ToList () для context.User.Claims
, а затем используя .Any () в списке. Это работает, но я не видел такого подхода ни в каких примерах.