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