This commit is contained in:
2023-05-25 15:10:08 +08:00
parent 5ee9d8c051
commit b61183b0a9
9 changed files with 155 additions and 16 deletions

View File

@ -1,5 +1,8 @@
package com.qiaoba.auth.constants;
import com.qiaoba.common.base.constants.BaseConstant;
import com.qiaoba.common.base.constants.ConfigConstant;
import java.util.Arrays;
import java.util.List;
@ -19,14 +22,15 @@ public class SecurityConstant {
public static final String BLACKLIST_KEY = "login:blacklist";
public static final String LOGIN_ERROR_COUNT = "login:errorCount:";
public static final String BLACKLIST_ON = "true";
public static final String BLACKLIST_ON_OFF_KEY = "sys_config:sys.account.blacklistOnOff";
public static final String BLACKLIST_ON_OFF_KEY = ConfigConstant.SYS_CONFIG_KEY_PREFIX + "sys.account.blacklistOnOff";
public static final String CAPTCHA_KEY = "login:captcha:";
public static final String CAPTCHA_ON_OFF_KEY = "sys_config:sys.account.captchaOnOff";
public static final String CAPTCHA_ON_OFF_KEY = ConfigConstant.SYS_CONFIG_KEY_PREFIX + "sys.account.captchaOnOff";
public static final String CAPTCHA_ON = "true";
public static final String REGISTER_ON_OFF_KEY = "sys_config:sys.account.registerUser";
public static final String REGISTER_ON_OFF_KEY = ConfigConstant.SYS_CONFIG_KEY_PREFIX + "sys.account.registerUser";
public static final String REGISTER_ON = "true";
public static final String REDIS_SECRET_KEY = "sys:secret:secret";
public static final String USER_DETAILS_REDIS_KEY = "user_details:";
public static final String TOKEN_EXPIRE_TIME_KEY = ConfigConstant.SYS_CONFIG_KEY_PREFIX + "sys.token.expireTime";
/**
* 登录成功
*/

View File

@ -2,8 +2,11 @@ package com.qiaoba.auth.utils;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.jwt.JWTPayload;
import cn.hutool.jwt.JWTUtil;
import com.qiaoba.auth.constants.SecurityConstant;
import com.qiaoba.common.redis.service.RedisService;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.HashMap;
@ -23,11 +26,16 @@ public class TokenUtil {
* jwt 加解密密钥,第一次项目启动时创建随机数
*/
public static String secret;
private static final RedisService redisService = SpringUtil.getBean(RedisService.class);
public static String generateToken(String username) {
DateTime now = DateTime.now();
// 3天过期
DateTime newTime = now.offsetNew(DateField.HOUR, 72);
Integer expireTime = 1;
if (redisService.hasKey(SecurityConstant.TOKEN_EXPIRE_TIME_KEY)) {
expireTime = Integer.parseInt(redisService.get(SecurityConstant.TOKEN_EXPIRE_TIME_KEY).toString());
}
DateTime newTime = now.offsetNew(DateField.HOUR, expireTime);
Map<String, Object> payload = new HashMap<String, Object>(4);
//签发时间