记得上下班打卡 | git大法好,push需谨慎

Commit 6bb21eed authored by 姜秀龙's avatar 姜秀龙

login/nia作为单出获取 pid

parent 158a4397
......@@ -8,17 +8,18 @@ import lombok.Getter;
import java.io.Serializable;
/**
* 网证认证成功但未绑定本站账号时,随 10006 返回给前端,用于后续 bindTpa / login/tpa 注册绑定。
* 网证认证成功返回,仅做身份认证不判断绑定。
* 前端拿到 openId 后自行调用 login/tpa 完成登录/注册绑定判断。
*/
@Getter
@Builder
@ApiModel(value = "AdamNiaUnboundVo", description = "网证未绑定账号时的绑定凭证")
public class AdamNiaUnboundVo implements Serializable {
@ApiModel(value = "AdamNiaAuthVo", description = "网证认证结果")
public class AdamNiaAuthVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "平台类型,固定 NIA")
private final String platform;
@ApiModelProperty(value = "网证用户唯一标识(40字节标识的标准Base64,56字符),绑定时原样作为 openId 回传")
@ApiModelProperty(value = "网证用户唯一标识(40字节标识的标准Base64,56字符),作为 login/tpa 的 openId 使用")
private final String openId;
}
......@@ -333,15 +333,11 @@ public class AdamLoginController {
}
@ApiOperationSupport(order = 8)
@ApiOperation(value = "国家网络身份认证登录")
@ApiOperation(value = "国家网络身份认证", notes = "仅做身份认证并返回 openId,前端拿到后调用 login/tpa 完成登录/注册绑定")
@PostMapping(value = {"login/nia"})
public ResponseDto<?> loginByNia(@Valid @RequestBody AdamNiaLoginParam param) {
log.info("login by nia, bizSeq={}", param.getBizSeq());
ResponseDto<?> loginResp = adamNiaLoginService.login(param);
if (!loginResp.isSuccess()) {
return loginResp;
}
return this.loginVoResponseProcessing((AdamLoginInfoVo) loginResp.getData());
return adamNiaLoginService.login(param);
}
@ApiOperationSupport(order = 7)
......
......@@ -6,13 +6,8 @@ import com.liquidnet.common.third.secureaccess.model.NiaAuthResult;
import com.liquidnet.common.third.secureaccess.util.NiaPidUtils;
import com.liquidnet.service.adam.constant.AdamTpaConst;
import com.liquidnet.service.adam.dto.AdamNiaLoginParam;
import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamNiaUnboundVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.dto.vo.AdamNiaAuthVo;
import com.liquidnet.service.adam.service.IAdamNiaLoginService;
import com.liquidnet.service.adam.support.AdamUserSessionSupport;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
......@@ -24,8 +19,6 @@ import org.springframework.stereotype.Service;
public class AdamNiaLoginServiceImpl implements IAdamNiaLoginService {
private final NiaAuthBiz niaAuthBiz;
private final AdamRdmService adamRdmService;
private final AdamUserSessionSupport adamUserSessionSupport;
@Override
public ResponseDto<?> login(AdamNiaLoginParam param) {
......@@ -56,30 +49,12 @@ public class AdamNiaLoginServiceImpl implements IAdamNiaLoginService {
return ResponseDto.failure("10005", "网证认证失败,请重试");
}
String openId = authResult.getOpenId();
String uid = adamRdmService.getUidByPlatformOpenId(AdamTpaConst.PLATFORM_NIA, openId);
if (uid == null || uid.isEmpty()) {
AdamNiaUnboundVo unboundVo = AdamNiaUnboundVo.builder()
AdamNiaAuthVo authVo = AdamNiaAuthVo.builder()
.platform(AdamTpaConst.PLATFORM_NIA)
.openId(openId)
.openId(authResult.getOpenId())
.build();
log.info("[nia-login] 未绑定 bizSeq={}, bizSerialNo={}, openId={}",
param.getBizSeq(), authResult.getBizSerialNo(), openId);
return ResponseDto.failure(ErrorMapping.get("10006"), unboundVo);
}
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
if (userInfoVo == null || userInfoVo.getState() == 2) {
log.warn("[nia-login] cancelled openId={}", openId);
return ResponseDto.failure(ErrorMapping.get("10024"));
}
AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew();
loginInfoVo.setUserInfo(userInfoVo);
loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(uid));
loginInfoVo.setToken(adamUserSessionSupport.issueToken(userInfoVo));
log.info("[nia-login] LOGIN uid={}, openId={}", uid, openId);
return ResponseDto.success(loginInfoVo);
log.info("[nia-login] 认证成功 bizSeq={}, bizSerialNo={}, openId={}",
param.getBizSeq(), authResult.getBizSerialNo(), authResult.getOpenId());
return ResponseDto.success(authVo);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment