У меня есть проект API ядра .net 2.2, который используется угловым приложением.Для защиты API я использую JWT.И API, и SPA находятся в домашних приложениях.
Я использую IdentityServer4 с типом предоставления пароля владельца ресурса.Я слышал, что это не рекомендуется, но каждому пользователю назначены разные роли, которые должны быть помещены в утверждение о ролях JWT.Это позволяет аннотации данных авторизации ядер .net предоставлять и ограничивать доступ к каждому маршруту.
Поток, который я сейчас имею, заключается в том, что пользователь входит в SPA, который отправляет учетные данные в API.API использует Identity для проверки учетных данных.При успешной проверке API отправляет запрос IdentityServer4 для получения JWT, который он затем отправляет обратно в SPA.Затем JWT сохраняется в локальном хранилище для использования при каждом запросе.
Мне интересно, должен ли я запрашивать токен непосредственно у IdentityServer4 (IS4 будет иметь доступ к контексту Identity и проверять un / pw) изспа?Также есть какие-то другие серьезные недостатки в потоке, которые я пропускаю.