Я хочу добавить проверку базы данных для проверки моего токена JWT в приложении ASP.NET Core 2.2 Wep Api.
Проще говоря, после того, как JWT был проверен netcore, я хочу проверить, существует ли соответствующая «пользовательская» сущность - если нет, то это должна быть неудачная Аутентификация .
Я нашел пост, в котором обсуждается дополнительная проверка, с использованием переопределения JwtSecurityTokenHandler
, но есть проблемы с DI.
Альтернативой представляется создание Авторизация политика с использованием переопределений AuthorizationHandler<T>
- но, опять же, существуют проблемы с DI.
Мой вопрос сводится к 2 частям:
- Является ли Аутентификация подходящим местом для этой проверки или Авторизация (похоже, что первое, но вы могли бы утверждать, что проверка JWT уже "аутентифицировала" вызывающего)?
- Если я использую
JwtSecurityTokenHandler
или AuthorizationHandler<T>
для проверки базы данных - используя EF Core - есть ли у меня какая-либо альтернатива использованию Service Locator (путем передачи ссылки на ServiceProvider
в экземпляры, созданные во время запуска, в порядке чтобы получить Scoped DbContext
при необходимости)