diff --git a/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/auth/LoginResponse.java b/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/auth/LoginResponse.java index fea8e5b3e..92313438a 100644 --- a/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/auth/LoginResponse.java +++ b/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/auth/LoginResponse.java @@ -22,9 +22,15 @@ public class LoginResponse { */ private String token; - public LoginResponse(LoginUser loginUser, String token) { + /** + * 到期时间 + */ + private Long expireAt; + + public LoginResponse(LoginUser loginUser, String token, Long expireAt) { this.loginUser = loginUser; this.token = token; + this.expireAt = expireAt; } } diff --git a/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/login/basic/SimpleRoleInfo.java b/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/login/basic/SimpleRoleInfo.java index e9cfc899e..d96a200c2 100644 --- a/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/login/basic/SimpleRoleInfo.java +++ b/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/pojo/login/basic/SimpleRoleInfo.java @@ -26,4 +26,9 @@ public class SimpleRoleInfo { */ private String roleCode; + /** + * 数据范围类型:10-仅本人数据,20-本部门数据,30-本部门及以下数据,40-指定部门数据,50-全部数据 + */ + private Integer dataScopeType; + } diff --git a/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/AuthServiceImpl.java b/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/AuthServiceImpl.java index 85a978a26..3e9e40ddf 100644 --- a/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/AuthServiceImpl.java +++ b/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/AuthServiceImpl.java @@ -157,7 +157,7 @@ public class AuthServiceImpl implements AuthServiceApi { } // 2. 解密密码的密文 -// String decryptPassword = passwordTransferEncryptApi.decrypt(loginRequest.getPassword()); + // String decryptPassword = passwordTransferEncryptApi.decrypt(loginRequest.getPassword()); // 3. 获取用户密码的加密值和用户的状态 UserLoginInfoDTO userValidateInfo = userServiceApi.getUserLoginInfo(loginRequest.getAccount()); @@ -199,7 +199,7 @@ public class AuthServiceImpl implements AuthServiceApi { userServiceApi.updateUserLoginInfo(loginUser.getUserId(), new Date(), ip); // 11. 组装返回结果 - return new LoginResponse(loginUser, jwtToken); + return new LoginResponse(loginUser, jwtToken, defaultJwtPayload.getExpirationDate()); } } diff --git a/kernel-d-jwt/jwt-api/src/main/java/cn/stylefeng/roses/kernel/jwt/api/pojo/payload/DefaultJwtPayload.java b/kernel-d-jwt/jwt-api/src/main/java/cn/stylefeng/roses/kernel/jwt/api/pojo/payload/DefaultJwtPayload.java index 5dbcdce98..49277b32a 100644 --- a/kernel-d-jwt/jwt-api/src/main/java/cn/stylefeng/roses/kernel/jwt/api/pojo/payload/DefaultJwtPayload.java +++ b/kernel-d-jwt/jwt-api/src/main/java/cn/stylefeng/roses/kernel/jwt/api/pojo/payload/DefaultJwtPayload.java @@ -34,6 +34,11 @@ public class DefaultJwtPayload { */ private Boolean rememberMe; + /** + * 过期时间戳 + */ + private Long expirationDate; + /** * 其他载体信息 */ diff --git a/kernel-d-jwt/jwt-sdk/src/main/java/cn/stylefeng/roses/kernel/jwt/JwtTokenOperator.java b/kernel-d-jwt/jwt-sdk/src/main/java/cn/stylefeng/roses/kernel/jwt/JwtTokenOperator.java index 05eca236a..1110f181f 100644 --- a/kernel-d-jwt/jwt-sdk/src/main/java/cn/stylefeng/roses/kernel/jwt/JwtTokenOperator.java +++ b/kernel-d-jwt/jwt-sdk/src/main/java/cn/stylefeng/roses/kernel/jwt/JwtTokenOperator.java @@ -54,6 +54,9 @@ public class JwtTokenOperator implements JwtApi { // 计算过期时间 DateTime expirationDate = DateUtil.offsetMillisecond(new Date(), Convert.toInt(jwtConfig.getExpiredSeconds()) * 1000); + // 设置过期时间 + defaultJwtPayload.setExpirationDate(expirationDate.getTime()); + // 构造jwt token return Jwts.builder() .setClaims(BeanUtil.beanToMap(defaultJwtPayload))