expired time перед отправкой запроса?
Да
И оставить сервер без работы?
Прошу экспертов данного чата натолкнуть меня на правильный путь
А вот дальше как обновить токен с помощью рефреш токена? Видел вариант с interceptor
Я вот поэтому поэтому хотел проверять на клиенте expired time и в случае истечения срока действия, сразу рефрешить и только потом запрос на сервер отправлять
Какова вероятность, что плохие люди увидят, как вы это делаете?
Допустим в памяти. Но я пока хочу понять как правильно обновить токен. Потом и о месте хранения позаботиться
У вас axios, верно?
Да
interceptors.response.use
https://github.com/Flyrell/axios-auth-refresh
Можете подсказать, где нужно хранить функцию refreshAuthLogic и createAuthRefreshInterceptor? Я так понимаю ее нужно где-то один раз проиницализировать вместе с axios?. И она будет перехватывать 401 во всех запросах. Пока у меня есть store и модуль auth, где я вызываю функцию login
Вам нужно место, где вы будете хранить логику axios.
У меня есть файл axios.js, где прописываю baseUrl. Туда нужно прописать?
Покажите код в этом файле, пожалуйста.
Если кратко: да, к axiosInstance нужно добавить перехватчик.
Там просто: import axios from 'axios' axios.defaults.baseURL = "baseUrl"
Может лучше так ?: const axiosInstance = axios.create({ baseURL: ... }); axiosInstance.interceptors.request( ... ); export { axiosInstance }
И потом где будет необходимость в axios я буду импортировать инстанс из этого файла?
Yes :D
яб baseUrl бра лиз перменных окружения
Тоже верно.
Обсуждают сегодня