|
@@ -1,5 +1,6 @@
|
|
|
package com.dragoninfo.dcuc.authweb.restcontroller.api.authservice.v4.controller;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.dragoninfo.dcuc.auth.api.vo.BusinessRespEnum;
|
|
@@ -18,6 +19,8 @@ import com.dragoninfo.dcuc.auth.auth.facade.IServiceAuthFlowFacade;
|
|
|
import com.dragoninfo.dcuc.auth.auth.facade.IStaffAssignAuthInfoFacade;
|
|
|
import com.dragoninfo.dcuc.auth.auth.vo.ApiAppAuthVo;
|
|
|
import com.dragoninfo.dcuc.auth.auth.vo.ServiceAuthenticationResVO;
|
|
|
+import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
|
|
|
+import com.dragoninfo.dcuc.auth.sub.facade.IAuthUserInfoFacade;
|
|
|
import com.dragoninfo.dcuc.auth.sub.vo.AuthUserVo;
|
|
|
import com.dragoninfo.dcuc.auth.token.facade.IAuthTokenFacade;
|
|
|
import com.dragoninfo.dcuc.auth.token.vo.TokenDetailRespVo;
|
|
@@ -72,6 +75,9 @@ public class AuthV4Controller {
|
|
|
@Autowired
|
|
|
private IAuthTokenFacade authTokenFacade;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IAuthUserInfoFacade userInfoFacade;
|
|
|
+
|
|
|
/**
|
|
|
* 应用级鉴权
|
|
|
*
|
|
@@ -80,30 +86,34 @@ public class AuthV4Controller {
|
|
|
*/
|
|
|
@PostMapping("appAuth")
|
|
|
public DataRespVO<String> appAuth(@RequestBody AppAuthReqVO appAuthReqVO) {
|
|
|
- String appTokenId = appAuthReqVO.getAppTokenId();
|
|
|
+ String userTokenId = appAuthReqVO.getUserTokenId();
|
|
|
|
|
|
- if (StrUtil.isBlank(appTokenId)) {
|
|
|
+ if (StrUtil.isBlank(userTokenId)) {
|
|
|
return DataRespVO.resultEnumMessage(BusinessRespEnum.TOKEN_FAIL);
|
|
|
}
|
|
|
|
|
|
- TokenDetailRespVo tokenInfo = authTokenFacade.getByAppTokenId(appTokenId, true, false);
|
|
|
- log.info("应用鉴权查寻到的结果:{}", JSON.toJSONString(tokenInfo));
|
|
|
+ UserTokenInfoRespVO userToken = authTokenFacade.getUserTokenInfo(userTokenId);
|
|
|
+ log.info("应用鉴权查寻到的令牌结果:{}", JSON.toJSONString(userToken));
|
|
|
|
|
|
- AuthUserVo userInfo = tokenInfo.getUserInfo();
|
|
|
+ String pId = userToken.getPid();
|
|
|
+ log.info("pid:{}", pId);
|
|
|
+
|
|
|
+ AuthUserDTO userInfo = userInfoFacade.findByIdcard(pId);
|
|
|
if (userInfo == null) {
|
|
|
+ log.info("查询不到用户信息");
|
|
|
return DataRespVO.resultEnumMessage(BusinessRespEnum.AUTH_FAIL);
|
|
|
}
|
|
|
|
|
|
// 缓存应用令牌
|
|
|
- UserTokenInfoRespVO userToken = tokenInfo.getUserToken();
|
|
|
int expiredTime = (int) ((userToken.getExpireAt().getTime() - System.currentTimeMillis()) / 1000);
|
|
|
|
|
|
authTokenFacade.cacheStandardUserToken(userInfo.getIdcard(), userToken.getUserTokenId(), expiredTime);
|
|
|
|
|
|
+ AuthUserVo userVo = new AuthUserVo();
|
|
|
+ BeanUtil.copyProperties(userInfo, userVo);
|
|
|
ApiAppAuthVo authVo = ApiAppAuthVo.builder()
|
|
|
- .requestAppCode(tokenInfo.getAppToken().getAppId())
|
|
|
- .userInfo(userInfo)
|
|
|
- .appToken(appTokenId)
|
|
|
+ .userInfo(userVo)
|
|
|
+ .appToken(userTokenId)
|
|
|
.userToken(userToken.getUserTokenId())
|
|
|
.terminalIp(IpUtils.getIp())
|
|
|
.build();
|