liukangdong
2024-09-29 b2d360d9113b6955287108ca9e90d76a1f3c1419
server/service/src/main/java/com/doumee/config/Jwt/JwtTokenUtil.java
@@ -21,11 +21,14 @@
import com.doumee.dao.business.model.Member;
import io.jsonwebtoken.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
/**
@@ -51,10 +54,14 @@
    public static final String UserId_Name = "AppUserId";
    //取值名称
    public static final String UserType = "UserType";
    //取值名称
    public static final String UserInfo = "UserInfo";
    //加密密钥
    private final static String jwtSecret = "MhAjU9poLf8ko54K25XBDtonaL33vtt1";
    //过期时间(s) 86400L=1天 604800L=7天
    private static final long expire = 86400L;
    //redis过期时间
    private static final Integer redisExpire = 3;
    /**
     * 生成token,根据userId和默认过期时间
@@ -65,6 +72,16 @@
        return generateToken(jwtPayLoad.getUserId(), expirationDate, jwtPayLoad.toMap());
    }
    /**
     * 生成token,根据userId和默认过期时间
     */
    public static String generateTokenForZb(Long userId,String userType,String userInfo,RedisTemplate<String,Object> redisTemplate) {
        String tokenKey =  UUID.randomUUID() + "_" + userId;
        redisTemplate.opsForValue().set(userType + "_" +tokenKey,userInfo,redisExpire,TimeUnit.HOURS);
        return tokenKey;
    }
    /**
     * 验证token是否失效
     */