Wondermarin
@Wondermarin

Аутентификация пользователя в клиент-серверном приложении с использованием JWT?

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

Да и в целом уместно ли использование JWT в таком случае?

С авторизацией по API до этого никогда не встречался, поэтому не пинайте ногами.
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
nekt
@nekt
программист
Действие токена - 15 минут.
Действие рефреш токена - 7 дней. (одноразовый)
При обновлении обновляются сразу оба токена.
Обновление происходит прозрачно для пользователя по логике на фронтенде - если токену осталось жить менее минуты - идем и получаем новый перед следующим запросом.

Итого мы получаем возможность проверять авторизацию и блокировать пользователя только раз в 15 минут,
а пользователь может целую неделю не вводить пароль.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы