OAuth 2 преобразует область действия в утверждения при авторизации через Web API - PullRequest
0 голосов
/ 02 мая 2019

В данный момент у меня есть полуфункциональная страница входа, которая использует OAuth и идентификационный сервер для аутентификации пользователя. После аутентификации (используя неявный поток) я использую токен доступа, который возвращается в качестве токена-носителя в заголовке любых запросов API, которые я делаю. Здесь вы можете увидеть токен, который возвращается во внешний интерфейс. Я думаю, что это нормально.

This is the access token

И здесь вы можете видеть, как я ломаю указатель в моей конечной точке API. Это то, что я вижу в своем actionContext.ControllerContext.RequestContext.Principal в массиве утверждений

Моя проблема заключается в том, что каждый контроллер API в проекте имеет собственный атрибут авторизации, который начинается с выполнения следующего

enter image description here

Функция isauthorized всегда возвращает false, поскольку она проверяет список ролей, прикрепленный к запросу (и это работает со старым способом, который был реализован). У него сейчас нет ролей, только прицелы. Из того, что я прочитал, я предполагаю, что области действия предназначены для предоставления доступа к API, но эти области должны давать заявки пользователям. Каков наилучший подход для достижения этой цели?

Должен ли я добавить новый настраиваемый фильтр для своих API, который просматривает области, а затем дает пользователю правильные утверждения, необходимые для прохождения этой проверки? Должен ли я вообще вызывать это во встроенном методе авторизации? Или есть какая-то настройка, которую мне не хватает для OAuth, которая должна преобразовывать эти области в утверждения, чтобы они проходили эту проверку?

Примечание: это решение для структуры с точечной сетью, а не ядро ​​с точечной сетью

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...