mirror of
https://github.com/TurTaskProject/TurTaskWeb.git
synced 2025-12-19 05:54:07 +01:00
38 lines
911 B
JavaScript
38 lines
911 B
JavaScript
import axios from 'axios';
|
|
|
|
async function refreshAccessToken() {
|
|
const refresh_token = localStorage.getItem('refresh_token');
|
|
const access_token = localStorage.getItem('access_token');
|
|
|
|
if (access_token) {
|
|
return true;
|
|
}
|
|
|
|
if (!refresh_token) {
|
|
return false;
|
|
}
|
|
|
|
const refreshUrl = 'http://127.0.0.1:8000/api/token/refresh/';
|
|
|
|
try {
|
|
const response = await axios.post(refreshUrl, { refresh: refresh_token });
|
|
|
|
if (response.status === 200) {
|
|
// Successful refresh - save the new access token and refresh token
|
|
const newAccessToken = response.data.access;
|
|
const newRefreshToken = response.data.refresh;
|
|
|
|
localStorage.setItem('access_token', newAccessToken);
|
|
localStorage.setItem('refresh_token', newRefreshToken);
|
|
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
} catch (error) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
export default refreshAccessToken;
|