35 lines
767 B
TypeScript
35 lines
767 B
TypeScript
import axios from 'axios';
|
|
|
|
export function setToken(token: string) {
|
|
localStorage.setItem('token', token);
|
|
}
|
|
|
|
export function getToken() {
|
|
return localStorage.getItem('token');
|
|
}
|
|
|
|
export function removeToken() {
|
|
localStorage.removeItem('token');
|
|
}
|
|
|
|
export function hasToken() {
|
|
return getToken() !== null;
|
|
}
|
|
|
|
export function setRefreshToken(refreshToken: string) {
|
|
localStorage.setItem('refreshToken', refreshToken);
|
|
}
|
|
|
|
export function getRefreshToken() {
|
|
return localStorage.getItem('refreshToken');
|
|
}
|
|
|
|
export function clearTokens() {
|
|
removeToken();
|
|
setRefreshToken('');
|
|
}
|
|
|
|
export async function doRefreshToken() {
|
|
return axios.post<{ access_token: string; refresh_token: string }>('/api/v1/auth/refresh', { refresh_token: getRefreshToken() });
|
|
}
|