feat: 新增 JWT 刷新模式,支持因访问令牌过期而失败的请求重试

This commit is contained in:
ray
2024-11-14 18:32:23 +08:00
parent 0902e2320f
commit ad9dd5e1d1
5 changed files with 127 additions and 54 deletions

View File

@@ -1,15 +1,27 @@
const TOKEN_KEY = "admin-token";
// 访问 token 缓存的 key
const ACCESS_TOKEN_KEY = "access_token";
// 刷新 token 缓存的 key
const REFRESH_TOKEN_KEY = "refresh_token";
function getToken(): string {
return localStorage.getItem(TOKEN_KEY) || "";
return localStorage.getItem(ACCESS_TOKEN_KEY) || "";
}
function setToken(token: string) {
return localStorage.setItem(TOKEN_KEY, token);
localStorage.setItem(ACCESS_TOKEN_KEY, token);
}
function getRefreshToken(): string {
return localStorage.getItem(REFRESH_TOKEN_KEY) || "";
}
function setRefreshToken(token: string) {
localStorage.setItem(REFRESH_TOKEN_KEY, token);
}
function clearToken() {
return localStorage.removeItem(TOKEN_KEY);
localStorage.removeItem(ACCESS_TOKEN_KEY);
localStorage.removeItem(REFRESH_TOKEN_KEY);
}
export { getToken, setToken, clearToken };
export { getToken, setToken, clearToken, getRefreshToken, setRefreshToken };