ASP.NET Core API, как вручную авторизовать пользователя

У меня есть ASP.NET Core API с действием с атрибутом Authorize.

Этот API взаимодействует с приложением Ionic, прошедшим аутентификацию Firebase. Когда я вхожу в клиентское приложение, я получаю токен авторизации, который отправляю в API при каждом вызове конечной точки.

API получает этот токен, а затем проверяет его с помощью Firebase. Теперь у меня есть логическое значение, говорящее мне, что этот запрос аутентифицирован или нет.

Есть ли способ как-то сообщить контроллеру, что этот вызов должен быть обработан, не удаляя атрибут Authorize из действия?


person rbasniak    schedule 13.12.2016    source источник
comment
Похоже, вам нужно добавить промежуточное программное обеспечение, которое справится с этим. См.: stackoverflow.com/questions/39190512/   -  person Adrian Sanguineti    schedule 13.12.2016


Ответы (1)


Если кто-то столкнется с этим в будущем, я решил проблему создания пользовательского промежуточного программного обеспечения на основе этого:

http://www.mithunvp.com/write-custom-asp-net-core-middleware-web-api/

Я отправляю токен в заголовке HTTP-запроса, затем промежуточное ПО перехватывает каждый вызов API и проверяет токен. Если он действителен, вызов обрабатывается нормально, если нет, то запрос отменяется и вызов даже не доходит до конечной точки API.

person rbasniak    schedule 13.12.2016