mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 20:28:44 +08:00 
			
		
		
		
	【功能优化】全局:LoginUser 新增过期时间,方便判断 token 过期
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
			
		||||
package cn.iocoder.yudao.framework.jackson.core.databind;
 | 
			
		||||
package cn.iocoder.yudao.framework.common.util.json.databind;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.JsonGenerator;
 | 
			
		||||
import com.fasterxml.jackson.databind.SerializerProvider;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package cn.iocoder.yudao.framework.jackson.core.databind;
 | 
			
		||||
package cn.iocoder.yudao.framework.common.util.json.databind;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.JsonParser;
 | 
			
		||||
import com.fasterxml.jackson.databind.DeserializationContext;
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package cn.iocoder.yudao.framework.jackson.core.databind;
 | 
			
		||||
package cn.iocoder.yudao.framework.common.util.json.databind;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.JsonGenerator;
 | 
			
		||||
import com.fasterxml.jackson.databind.JsonSerializer;
 | 
			
		||||
@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 | 
			
		||||
import com.fasterxml.jackson.annotation.JsonIgnore;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
@@ -42,6 +43,10 @@ public class LoginUser {
 | 
			
		||||
     * 授权范围
 | 
			
		||||
     */
 | 
			
		||||
    private List<String> scopes;
 | 
			
		||||
    /**
 | 
			
		||||
     * 过期时间
 | 
			
		||||
     */
 | 
			
		||||
    private LocalDateTime expiresTime;
 | 
			
		||||
 | 
			
		||||
    // ========== 上下文 ==========
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -84,7 +84,8 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
 | 
			
		||||
            // 构建登录用户
 | 
			
		||||
            return new LoginUser().setId(accessToken.getUserId()).setUserType(accessToken.getUserType())
 | 
			
		||||
                    .setInfo(accessToken.getUserInfo()) // 额外的用户信息
 | 
			
		||||
                    .setTenantId(accessToken.getTenantId()).setScopes(accessToken.getScopes());
 | 
			
		||||
                    .setTenantId(accessToken.getTenantId()).setScopes(accessToken.getScopes())
 | 
			
		||||
                    .setExpiresTime(accessToken.getExpiresTime());
 | 
			
		||||
        } catch (ServiceException serviceException) {
 | 
			
		||||
            // 校验 Token 不通过时,考虑到一些接口是无需登录的,所以直接返回 null 即可
 | 
			
		||||
            return null;
 | 
			
		||||
 
 | 
			
		||||
@@ -2,9 +2,9 @@ package cn.iocoder.yudao.framework.jackson.config;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.collection.CollUtil;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
 | 
			
		||||
import cn.iocoder.yudao.framework.jackson.core.databind.NumberSerializer;
 | 
			
		||||
import cn.iocoder.yudao.framework.jackson.core.databind.TimestampLocalDateTimeDeserializer;
 | 
			
		||||
import cn.iocoder.yudao.framework.jackson.core.databind.TimestampLocalDateTimeSerializer;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.json.databind.NumberSerializer;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.json.databind.TimestampLocalDateTimeDeserializer;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.json.databind.TimestampLocalDateTimeSerializer;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import com.fasterxml.jackson.databind.module.SimpleModule;
 | 
			
		||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.api.oauth2.dto;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
@@ -34,5 +35,9 @@ public class OAuth2AccessTokenCheckRespDTO implements Serializable {
 | 
			
		||||
     * 授权范围的数组
 | 
			
		||||
     */
 | 
			
		||||
    private List<String> scopes;
 | 
			
		||||
    /**
 | 
			
		||||
     * 过期时间
 | 
			
		||||
     */
 | 
			
		||||
    private LocalDateTime expiresTime;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user