Как в jquery организовать последовательные ajax-запросы с дополнительной логикой?

Пилю в первый раз свою jwt-авторизацию.
Есть access_token (15 min expires_in), есть refresh_token (60 days expires_in)
Access_token лежит в localStorage, refresh_token лежит в cookie (http-only).

Стоит задача - перед любым запросом на маршруты, требующие авторизации, проверить на клиенте время жизни access_token и, если токен просрочен, то сначала шлем запрос на перевыпуск токенов по определенному маршруту через ajax, который анализирует пришедший refresh-токен и если все в порядке, возвращает новые refresh-токен и access-токен.

Само собой можно каждый запрос делать громоздким с такой вот проверкой, но тут напрашивается куда-то упаковать задачу проверки токена и обновления оного через запрос в случае просрочки. Ибо она будет встречаться в 95% маршрутов.

Первое о чем подумал - jquery beforeSend, но это синхронный метод и запустить в нем какой-то еще запрос, вроде, не то.
Второе, что нащупал в гугле - promise и deffered, но не совсем понял, как это применить в моем случае.

Есть какие-нибудь мысли на этот счет?..
Как лучше всего реализовать вышеописанный механизм?..
  • Вопрос задан
  • 275 просмотров
Пригласить эксперта
Ответы на вопрос 1
Alex_Wells
@Alex_Wells
PHP/TS/Kotlin developer
Может быть ты используешь нормальный http клиент, навешаешь рефреш на интерцептор и все, вместо того, что бы возится с legacy?
Ответ написан
Ваш ответ на вопрос

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

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