У меня проблема с истечением срока действия токена, и я хочу обновить sh с помощью токена. У меня есть два метода, один из которых показывает учетные записи и использует топор ios post, а другой - refre sh token.
export const add_account = account=>{
var token=localStorage.getItem("access_token")
var decoded=jwt_decode(token);
var time_exp=decoded.exp;
if(time_exp<new Date().getTime()/1000) {
refreshToken();
}
return axios.post("http://localhost:5000/accounts",{
acc_name:account.name,
acc_pass:account.pass,
acc_host:account.host,
acc_description:account.description
}, {headers: {
'Authorization': `Bearer ${localStorage.getItem('access_token')}`
}}).then(res=>{
return res.data
})
}
Второй метод - refre sh, и в отладке я замечаю, что первый go для обновления sh функции токена и при вводе в эту функцию go до .then (res => .... и после этого go возврат к первой функции процесса возврата топора ios .post и видим, что срок действия access_token истек. После этого go возвращается к refreshToken () и затем устанавливается access_token локального хранилища.
export const refreshToken=()=>{
return axios.post("http://localhost:5000/refresh",null,{headers: {
'Authorization': `Bearer ${localStorage.getItem("refresh_token")}`
}}).then(res=>{
localStorage.setItem('access_token',res.data['access_token']);
return res.data;
}).catch(e=>{
console.log(e)
})
}