Принимая во внимание интерфейсное веб-приложение, разработанное с использованием сервера Blazor, размещенного в IIS, и внутреннего сервера, размещенного в другом IIS на другом компьютере, на котором находится база данных, что является наилучшим механизмом аутентификации между двумя сторонами, который может быть реализован ?
Я не могу использовать внешних провайдеров, поэтому я не могу полагаться на Oauth 2.
Самый простой механизм, который приходит мне в голову, можно обобщить так:
1) Вход в систему с внешнего интерфейса -> отправка имени пользователя и пароля в веб-API;
2) Веб-API проверяет учетные данные в БД, генерирует новый токен jwt с утверждениями и отправляет его во внешнюю часть. end;
3) Front-end получает токен и сохраняет его в локальном хранилище браузера и отправляет его при каждом запросе к веб-API;
4) Web API проверяет действительность токена и в конечном итоге генерирует новый токен, если срок действия полученного истекает.
Все это в HTTPS, очевидно.
Мои сомнения:
- Как мне сто это токен в локальном хранилище, так как я получаю токен в классе C#?
- Что если мне нужно использовать встроенные механизмы Blazor, чтобы разрешить пользователю просматривать некоторые части вид?
Чего-то не хватает в моей схеме?
Спасибо :))