Browse Source

4个钉钉应用token分开存储

dev
yinzuomei 3 years ago
parent
commit
97ccebaa52
  1. 13
      epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
  2. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  3. 9
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/CpUserDetailRedis.java

13
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<String, Object> 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) {

4
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---后面需要改
*

9
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<String, Object> map = BeanUtil.beanToMap(user, false, true);
redisUtils.hMSet(key, map, expire);
}
/**
* 获取token信息
*

Loading…
Cancel
Save