Я нашел много ссылок, но не нашел решения для своей проблемы.
Я пытаюсь реализовать токен jwt refre sh в asp. net ядре.
Для хранения маркера refre sh я создал таблицу. Исходя из предложения jwt, для приложения SPA мы не должны предоставлять клиенту токен refre sh. https://auth0.com/blog/refresh-tokens-what-are-they-and-when-to-use-them/
Итак, я запланировал:
- При входе в систему создайте токен доступа и поделитесь с клиентом
- Создать refre sh токен для токена доступа и сохранения его в базе данных и сохранения его только по протоколу HTTP cook ie
- Когда пользователь получает доступ к авторизованному контроллеру и действию, если срок действия токена доступа истекает, я хочу генерировать новый токен на основе refre sh токена.
Но, во многих местах, как я обнаружил, пользователь отправит запрос. Если он не авторизован, пользователь запросит новый токен доступа с сохраненным токеном refre sh (локальное хранилище или что-то еще) и снова вызовет действительный запрос API.
Я не хочу этого, как упоминалось в последнем абзаце (верно?).
Когда пользователь отправляет запрос, если он недействителен, я хочу проверить токен в самой стороне сервера и необходимо предоставить новый токен доступа и продолжить последний вызов API.
Есть ли какое-либо решение для этой реализации, например, интерпретация авторизации и валидации?