From aed4e4c7d76de4d0fbfe8c0b26fcdeecbd5c5b24 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期五, 26 五月 2023 18:04:47 +0800
Subject: [PATCH] 管理台用户管理
---
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java | 58 +++++++++++++++++++++++++++++++++-------------------------
1 files changed, 33 insertions(+), 25 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
index 8214742..3c38eb0 100644
--- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
@@ -5,6 +5,7 @@
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest;
+import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.system.api.model.AppMiniLoginVo;
import com.ruoyi.system.api.model.OauthUserVo;
import com.ruoyi.system.api.model.QwH5LoginVo;
@@ -36,7 +37,7 @@
protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
- private final static long expireTime = CacheConstants.EXPIRATION;
+ private final static long EXPIRE_TIME = CacheConstants.EXPIRATION;
private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY;
@@ -61,11 +62,11 @@
claimsMap.put(SecurityConstants.USER_KEY, token);
claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
-
+ claimsMap.put(SecurityConstants.LOGIN_FROM, Constants.FROM_STAFF);
// 接口返回信息
Map<String, Object> rspMap = new HashMap<String, Object>();
rspMap.put("access_token", JwtUtils.createToken(claimsMap));
- rspMap.put("expires_in", expireTime);
+ rspMap.put("expires_in", EXPIRE_TIME);
return rspMap;
}
@@ -75,32 +76,38 @@
public Map<String, Object> createMiniToken(AppMiniLoginVo appMiniLoginVo)
{
LoginUser loginUser = new LoginUser();
- loginUser.setSysUser(appMiniLoginVo.getSysUser());
- String token = IdUtils.fastUUID();
- Long userId = loginUser.getSysUser().getUserId();
- String userName = loginUser.getSysUser().getUserName();
- loginUser.setToken(token);
- loginUser.setUserid(userId);
- loginUser.setUsername(userName);
- loginUser.setIpaddr(IpUtils.getIpAddr());
- refreshToken(loginUser);
-
// Jwt存储信息
Map<String, Object> claimsMap = new HashMap<String, Object>();
- claimsMap.put(SecurityConstants.USER_KEY, token);
- claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
- claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
-
// 接口返回信息
Map<String, Object> rspMap = new HashMap<String, Object>();
- rspMap.put("access_token", JwtUtils.createToken(claimsMap));
- rspMap.put("expires_in", expireTime);
+ //用户为空只返回openid
+ if(appMiniLoginVo.getSysUser()!=null){
+ loginUser.setSysUser(appMiniLoginVo.getSysUser());
+ String token = IdUtils.fastUUID();
+ Long userId = loginUser.getSysUser().getUserId();
+ String userName = loginUser.getSysUser().getUserName();
+ loginUser.setToken(token);
+ loginUser.setUserid(userId);
+ loginUser.setUsername(userName);
+ loginUser.setIpaddr(IpUtils.getIpAddr());
+ refreshToken(loginUser);
+ claimsMap.put(SecurityConstants.USER_KEY, token);
+ claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
+ claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
+ claimsMap.put(SecurityConstants.LOGIN_FROM, Constants.FROM_MINI_APP);
+ rspMap.put("access_token", JwtUtils.createToken(claimsMap));
+ rspMap.put("expires_in", EXPIRE_TIME);
+ }
+ if(StringUtils.isNotBlank(appMiniLoginVo.getMobile())){
+ rspMap.put("mobile",appMiniLoginVo.getMobile() );
+ }
+ rspMap.put("wx_unionid", appMiniLoginVo.getWxUnionid());
rspMap.put("mini_openid", appMiniLoginVo.getMiniOpenid());
return rspMap;
}
/**
- * 创建小程序令牌
+ * 创建企业微信令牌
*/
public OauthUserVo createQwH5Token(QwH5LoginVo qwH5LoginVo)
{
@@ -120,11 +127,12 @@
claimsMap.put(SecurityConstants.USER_KEY, token);
claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
-
+ claimsMap.put(SecurityConstants.LOGIN_FROM, Constants.FROM_SHOP);
// 接口返回信息
OauthUserVo oauthUserVo = new OauthUserVo();
- oauthUserVo.setAccessToken(JwtUtils.createToken(claimsMap));
- oauthUserVo.setExpiresIn(expireTime);
+ oauthUserVo.setShopId(qwH5LoginVo.getShopId());
+ oauthUserVo.setToken(JwtUtils.createToken(claimsMap));
+ oauthUserVo.setExpiresIn(EXPIRE_TIME);
oauthUserVo.setUserid(qwH5LoginVo.getUserid());
oauthUserVo.setMobile(qwH5LoginVo.getMobile());
return oauthUserVo;
@@ -221,10 +229,10 @@
public void refreshToken(LoginUser loginUser)
{
loginUser.setLoginTime(System.currentTimeMillis());
- loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
+ loginUser.setExpireTime(loginUser.getLoginTime() + EXPIRE_TIME * MILLIS_MINUTE);
// 根据uuid将loginUser缓存
String userKey = getTokenKey(loginUser.getToken());
- redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
+ redisService.setCacheObject(userKey, loginUser, EXPIRE_TIME, TimeUnit.MINUTES);
}
private String getTokenKey(String token)
--
Gitblit v1.7.1