pc端过期时间改为30分钟。移动端过期时间改为72小时
parent
135e569ea5
commit
6ae444c3c9
|
|
@ -103,8 +103,12 @@ token:
|
|||
header: Authorization
|
||||
# 令牌密钥
|
||||
secret: abcdefghijklmnopqrstuvwxyz
|
||||
# 令牌有效期(默认30分钟)
|
||||
expireTime: 30
|
||||
# 令牌有效期(默认30分钟)pc端默认分钟 移动端默认小时
|
||||
pc:
|
||||
expireTime: 30
|
||||
mobile:
|
||||
expireTime: 72
|
||||
|
||||
|
||||
# MyBatis Plus配置
|
||||
mybatis-plus:
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
package com.agri.common.utils.http;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import com.agri.common.utils.StringUtils;
|
||||
import nl.basjes.parse.useragent.UserAgent;
|
||||
import nl.basjes.parse.useragent.UserAgentAnalyzer;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* UserAgent解析工具类
|
||||
*
|
||||
|
|
@ -42,6 +43,7 @@ public class UserAgentUtils
|
|||
.showMinimalVersion()
|
||||
.withField(UserAgent.AGENT_NAME_VERSION)
|
||||
.withField(UserAgent.OPERATING_SYSTEM_NAME_VERSION)
|
||||
.withField(UserAgent.DEVICE_CLASS) // 是否为移动设备
|
||||
.build();
|
||||
|
||||
/**
|
||||
|
|
@ -251,4 +253,11 @@ public class UserAgentUtils
|
|||
return extractMajorVersion(version);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static String getDeviceType(String userAgent) {
|
||||
|
||||
UserAgent ua = userAgentAnalyzer.parse(userAgent);
|
||||
return ua.getValue("DeviceClass");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,8 +43,11 @@ public class TokenService
|
|||
private String secret;
|
||||
|
||||
// 令牌有效期(默认30分钟)
|
||||
@Value("${token.expireTime}")
|
||||
private int expireTime;
|
||||
@Value("${token.pc.expireTime}")
|
||||
private int pc_expireTime;
|
||||
|
||||
@Value("${token.mobile.expireTime}")
|
||||
private int mobile_expireTime;
|
||||
|
||||
protected static final long MILLIS_SECOND = 1000;
|
||||
|
||||
|
|
@ -149,6 +152,11 @@ public class TokenService
|
|||
public void refreshToken(LoginUser loginUser)
|
||||
{
|
||||
loginUser.setLoginTime(System.currentTimeMillis());
|
||||
String deviceType = UserAgentUtils.getDeviceType(ServletUtils.getRequest().getHeader("User-Agent"));
|
||||
int expireTime = pc_expireTime;
|
||||
if (StringUtils.isNotEmpty(deviceType) && deviceType.equals("Phone")) {
|
||||
expireTime = mobile_expireTime * 60;
|
||||
}
|
||||
loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
|
||||
// 根据uuid将loginUser缓存
|
||||
String userKey = getTokenKey(loginUser.getToken());
|
||||
|
|
|
|||
Loading…
Reference in New Issue