From 97ccebaa5219828da709530a205e1f1dc984dbf6 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 20 Sep 2022 15:59:51 +0800 Subject: [PATCH] =?UTF-8?q?4=E4=B8=AA=E9=92=89=E9=92=89=E5=BA=94=E7=94=A8t?= =?UTF-8?q?oken=E5=88=86=E5=BC=80=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/ThirdLoginServiceImpl.java | 13 +++++++------ .../com/epmet/commons/tools/redis/RedisKeys.java | 4 ++++ .../commons/tools/utils/CpUserDetailRedis.java | 9 +++++++++ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java index 116b2dcff4..2f602a6e2c 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java @@ -764,7 +764,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol resDTO.setRegFlag(resiResDTO.getRegFlag()); //3.生成token,并且存放Redis - String token=this.saveTokenDtoDing(AppClientConstant.APP_RESI,AppClientConstant.MINI_DING, resDTO.getEpmetUserId(), resDTO.getCustomerId()); + String token=this.saveTokenDtoDing(formDTO.getClientId(),AppClientConstant.APP_RESI,AppClientConstant.MINI_DING, resDTO.getEpmetUserId(), resDTO.getCustomerId()); resDTO.setAuthorization(token); } catch (ApiException e) { @@ -773,11 +773,11 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol return resDTO; } - private String saveTokenDtoDing(String app,String client, String userId,String customerId) { + private String saveTokenDtoDing(String suiteKey,String app,String client, String userId,String customerId) { //生成token串 Map map = new HashMap<>(); - map.put(AppClientConstant.APP, AppClientConstant.APP_RESI); - map.put(AppClientConstant.CLIENT, AppClientConstant.MINI_DING); + map.put(AppClientConstant.APP, app); + map.put(AppClientConstant.CLIENT, client); map.put("userId", userId); String token = jwtTokenUtils.createToken(map); int expire = jwtTokenProperties.getExpire(); @@ -789,7 +789,8 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol tokenDto.setToken(token); tokenDto.setUpdateTime(System.currentTimeMillis()); tokenDto.setExpireTime(jwtTokenUtils.getExpiration(token).getTime()); - cpUserDetailRedis.set(tokenDto, expire); + // cpUserDetailRedis.set(tokenDto, expire); + cpUserDetailRedis.setForDingApp(suiteKey,tokenDto, expire); logger.info("截止时间:" + DateUtils.format(jwtTokenUtils.getExpiration(token), "yyyy-MM-dd HH:mm:ss")); return token; } @@ -838,7 +839,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol // 2、调用userfeign接口获取userId、注册网格相关信息 todo //3.生成token,并且存放Redis - String token=this.saveTokenDtoDing(AppClientConstant.APP_RESI,AppClientConstant.MINI_DING, resDTO.getEpmetUserId(), resDTO.getCustomerId()); + String token=this.saveTokenDtoDing(clientId,AppClientConstant.APP_RESI,AppClientConstant.MINI_DING, resDTO.getEpmetUserId(), resDTO.getCustomerId()); resDTO.setAuthorization(token); } catch (ApiException e) { diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 0f06a94c4b..ac55205beb 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -104,6 +104,10 @@ public class RedisKeys { return rootPrefix.concat("sys:security:user:").concat(app).concat(StrConstant.COLON).concat(client).concat(StrConstant.COLON).concat(userId); } + public static String getCpUserKeyForDingApp(String suiteKey,String app, String client, String userId) { + return rootPrefix.concat("sys:security:user:").concat(app).concat(StrConstant.COLON).concat(client).concat(StrConstant.COLON).concat(suiteKey).concat(StrConstant.COLON).concat(userId); + } + /** * 拼接手机验证码key---后面需要改!!! * diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/CpUserDetailRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/CpUserDetailRedis.java index 4c0845fc6c..856cb6449d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/CpUserDetailRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/CpUserDetailRedis.java @@ -41,6 +41,15 @@ public class CpUserDetailRedis { redisUtils.hMSet(key, map, expire); } + public void setForDingApp(String suiteKey,TokenDto user, long expire) { + if (user == null) { + return; + } + String key = RedisKeys.getCpUserKeyForDingApp(suiteKey,user.getApp(), user.getClient(), user.getUserId()); + //bean to map + Map map = BeanUtil.beanToMap(user, false, true); + redisUtils.hMSet(key, map, expire); + } /** * 获取token信息 *