Your access token could not be refreshed because your refresh token was revoked....
错误信息
Your access token could not be refreshed because your refresh token was revoked. Please log out and sign in again.
AI 解决方案
🔍 错误分析
1. 🌐 错误翻译
原文:Your access token could not be refreshed because your refresh token was revoked. Please log out and sign in again.
译文:您的访问令牌无法刷新,因为您的刷新令牌已被撤销。请退出登录并重新登录。
2. 🎯 原因分析
该错误属于身份认证令牌失效问题,根本原因是刷新令牌已被服务端主动撤销,导致系统无法使用刷新令牌获取新的访问令牌。常见触发场景包括:
3. 💡 解决方案
无需修改代码逻辑,核心解决思路是重新获取有效的认证令牌,具体步骤如下:
若为代码层面需自动处理该场景,可在令牌刷新失败的捕获逻辑中,添加强制跳转登录页的处理:
// 示例:令牌刷新失败后的处理逻辑
async function refreshToken() {
try {
const res = await api.post('/auth/refresh', { refreshToken: localStorage.getItem('refreshToken') });
localStorage.setItem('accessToken', res.data.accessToken);
return res.data.accessToken;
} catch (error) {
// 捕获到刷新令牌被撤销的错误
if (error.response?.data?.message?.includes('refresh token was revoked')) {
// 清除本地认证信息
localStorage.removeItem('accessToken');
localStorage.removeItem('refreshToken');
// 跳转至登录页(根据项目路由配置调整)
window.location.href = '/login';
}
}
}