После прочтения нескольких руководств по обновлению токенов JWT мне все еще неясно, как должен работать поток вызовов API.
Вот мое понимание:
1) Клиент находится во владениитокена доступа и обновления токена.Он отправляет токен доступа api/getCustomerData
.
2) Допустим, токен доступа истек.Сервер отвечает 401
.
3) Клиент отвечает на запрос 401
токеном обновления на api/token
.
4) Сервер отвечает новым маркером доступа после обновлениятокен все еще действителен.
5) Затем клиент отправляет новый запрос на api/getCustomerData
с новым токеном доступа.
У меня сложилось впечатление, что это чрезмерное количество вызовов API, но яя не вижу учебник, который разъясняет способ сделать это более эффективно.В нынешнем виде кажется, что если я следую этому шаблону, каждый запрос API будет выглядеть так:
const getCustomers = async () => {
const config = {
data: body,
withCredentials: true,
method: 'POST' as 'POST',
}
await axios(address + '/api/getCustomerData', config)
.then((response) => {
...
})
.catch((error: any) => {
const response = error.response;
if (response) {
if (response.status === 401) {
if (!failcount){
failcount++;
getCustomers();
}
else {
history.push('/login')
}
}
}
})
}