mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-10-21 19:17:25 +08:00
优化:jwt模式 token 过期后,抛出的异常描述是 token 已过期,而不再是 token 无效
This commit is contained in:
@@ -21,6 +21,7 @@ import java.util.Map;
|
||||
import cn.dev33.satoken.context.SaHolder;
|
||||
import cn.dev33.satoken.dao.SaTokenDao;
|
||||
import cn.dev33.satoken.exception.ApiDisabledException;
|
||||
import cn.dev33.satoken.exception.NotLoginException;
|
||||
import cn.dev33.satoken.jwt.error.SaJwtErrorCode;
|
||||
import cn.dev33.satoken.jwt.exception.SaJwtException;
|
||||
import cn.dev33.satoken.stp.SaTokenInfo;
|
||||
@@ -105,6 +106,10 @@ public class StpLogicJwtForMixin extends StpLogic {
|
||||
Object loginId = SaJwtUtil.getLoginId(tokenValue, loginType, jwtSecretKey());
|
||||
return String.valueOf(loginId);
|
||||
} catch (SaJwtException e) {
|
||||
// CODE == 30204 时,代表token已过期,此时返回-3,以便外层更精确的显示异常信息
|
||||
if(e.getCode() == SaJwtErrorCode.CODE_30204) {
|
||||
return NotLoginException.TOKEN_TIMEOUT;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -18,6 +18,7 @@ package cn.dev33.satoken.jwt;
|
||||
import cn.dev33.satoken.context.SaHolder;
|
||||
import cn.dev33.satoken.dao.SaTokenDao;
|
||||
import cn.dev33.satoken.exception.ApiDisabledException;
|
||||
import cn.dev33.satoken.exception.NotLoginException;
|
||||
import cn.dev33.satoken.jwt.error.SaJwtErrorCode;
|
||||
import cn.dev33.satoken.jwt.exception.SaJwtException;
|
||||
import cn.dev33.satoken.listener.SaTokenEventCenter;
|
||||
@@ -132,6 +133,10 @@ public class StpLogicJwtForStateless extends StpLogic {
|
||||
Object loginId = SaJwtUtil.getLoginId(tokenValue, loginType, jwtSecretKey());
|
||||
return String.valueOf(loginId);
|
||||
} catch (SaJwtException e) {
|
||||
// CODE == 30204 时,代表token已过期,此时返回-3,以便外层更精确的显示异常信息
|
||||
if(e.getCode() == SaJwtErrorCode.CODE_30204) {
|
||||
return NotLoginException.TOKEN_TIMEOUT;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user