Аутентификация пользователя в клиент-серверном приложении с использованием JWT?
Здравствуйте, делал авторизацию в SPA-приложении с использованием JWT, но возник вопрос: как поступать с пользователем при истечении токена? Можно просто заставить его заново проходить авторизацию, но этот вариант не очень юзер-френдли. Возможно решением получше стало бы обновление токена через refresh-токен, но как реализовать этот вариант?
Допустим: действие токена - 7 дней, действие refresh-токена - 8 дней. И если пользователь заходит на 7 день, то происходит обновление токена и у него снова 7 дней в запасе, но в таком случае страдает безопасность. Есть ли вариант лучше?
Да и в целом уместно ли использование JWT в таком случае?
С авторизацией по API до этого никогда не встречался, поэтому не пинайте ногами.
Действие токена - 15 минут.
Действие рефреш токена - 7 дней. (одноразовый)
При обновлении обновляются сразу оба токена.
Обновление происходит прозрачно для пользователя по логике на фронтенде - если токену осталось жить менее минуты - идем и получаем новый перед следующим запросом.
Итого мы получаем возможность проверять авторизацию и блокировать пользователя только раз в 15 минут,
а пользователь может целую неделю не вводить пароль.