Это очень нормально для клиента с бэкэндом, который использует JWT, чтобы иметь описанную вами функциональность.
Обычно бэкэнд возвращает 401 (часто сопровождаемый {"message": "Access token expired"}
телом).
Таким образом, класс, который обрабатывает запросы к бэкэнду, обычно имеет функцию запроса, заключенную в попытку catch.
Если запрос не удался, вы можете проверить код ошибки 401 и сообщение «Маркер доступа истек», а затемобновите токен и повторите запрос.
Также вы можете (до запроса) декодировать токен JWT и проверить, не истек ли он (просмотрев время истечения).Затем вы можете выполнить вызов токена обновления, прежде чем отправлять намеченный запрос.
Оба метода вызовут небольшую задержку загрузки сайта, но, вероятно, (в зависимости от производительности вашего API) это будет очень незначительная задержка.
Не забудьте удостовериться, что вы можете как-то различить обычную 401-ю неавторизованную ошибку с истекшим токеном доступа от серверной части.