fix: 重构认证接口 — 用户信息改用 /login/validateToken,token 校验改用 /auth/check/token/{token}
- getUserInfo: GET /sysUser/currentUser → POST /login/validateToken
- checkUsertoken: POST /login/validateToken → GET /auth/check/token/{token}
- checkTokenValid 传入当前 token 作为 URL 路径参数
- 更新 401 排除逻辑,同时排除两个认证接口防止死循环
This commit is contained in:
parent
97808fa21b
commit
4255641158
@ -36,12 +36,12 @@ export function logout() {
|
||||
return service.post(`${BASE_URL}/logout`)
|
||||
}
|
||||
|
||||
/** @desc 获取用户信息 */
|
||||
/** @desc 获取用户信息(/login/validateToken 同时返回用户信息,与 currentUser 内容一致) */
|
||||
export const getUserInfo = () => {
|
||||
return service.get(`/sysUser/currentUser
|
||||
`)
|
||||
}
|
||||
|
||||
export const checkUsertoken = () => {
|
||||
return service.post('/login/validateToken')
|
||||
}
|
||||
|
||||
/** @desc 验证 token 有效性 */
|
||||
export const checkUsertoken = (token) => {
|
||||
return service.get(`/auth/check/token/${token}`)
|
||||
}
|
||||
|
||||
@ -42,7 +42,7 @@ const storeSetup = () => {
|
||||
|
||||
// 检查token有效性
|
||||
const checkTokenValid = async () => {
|
||||
const res = await checkUsertokenApi()
|
||||
const res = await checkUsertokenApi(token.value)
|
||||
console.log('checkTokenValid:', res)
|
||||
if (res.code === '401' || res.status === '401' || res.success === false) {
|
||||
console.error('Token is invalid:', res.message)
|
||||
|
||||
@ -58,7 +58,7 @@ service.interceptors.response.use(
|
||||
if (success || code === 0 || status === 0) {
|
||||
console.log('msg: \n', msg)
|
||||
return response.data
|
||||
} else if (code === 401 && response.config.url !== '/login/validateToken`') { // 判断code=401时进行页面刷新,但是不对检验token这个路由的请求判断,防止出现死循环
|
||||
} else if (code === 401 && !(response.config.url || '').includes('/auth/check/token/') && response.config.url !== '/login/validateToken') { // token 校验和获取用户信息接口返回 401 时不触发刷新,防止死循环
|
||||
userError()
|
||||
}
|
||||
console.log('CodeMessage: \n', StatusCodeMessage[code])
|
||||
|
||||
Loading…
Reference in New Issue
Block a user