Проблема в том, что в моем приложении реализована аутентификация JWT (бэкэнд C # / JS Front End). Я хочу автоматически перенаправить пользователя на страницу входа в систему (выкинуть его), как только истечет срок его действия.
Я смотрю, как этого добиться, и пришел к выводу, что хочуэлегантный способ вызвать функцию в определенное время с заданной датой.
const tokenExpiresIn = 10000; // <- token expires in 10 seconds
Опция 1
Good ol 'setTimeout
setTimeout( () => { /* do redirect */ }, tokenExpiresIn);
Вариант 2
Всегда проверяйте срок действия токена
setInterval( () => { /* is the current time greater than the expiry time */ }, 1000);
I вариант 1 может быть более эффективным, поскольку я не выполняю проверку постоянно (например, вариант 2 есть), но если я обновлю токен, мне придется добавить код для очистки /обновить interval
. Тем не менее, Вариант 2 является своего рода привлекательным, потому что у меня уже есть логика, которая обновляет токен / срок действия через локальное хранилище.
Есть ли другие варианты в отношении элегантного способа запускафункция, которая перенаправляет страницу в определенное время?
Я уже проверяю токен при каждом запросе к серверу, чтобы охватить эту часть, просто пытаясь придумать сценарий удаленного бана / простоя пользователя.