@Override
public ResponseDto faceCheck(FaceCheckDto registerDto) {
DefaultProfile profile = DefaultProfile.getProfile(
"cn-hangzhou", //默认
Ali.accessKeyId, //您的Access Key ID
Ali.accessKeySecret); //您的Access Key Secret
IAcsClient client = new DefaultAcsClient(profile);
String biz = "dzhy"; //您在控制台上创建的、采用RPH5BioOnly认证方案的认证场景标识, 创建方法:https://help.aliyun.com/document_detail/59975.html
String ticketId = UUID.randomUUID().toString();
String token="";
//GetVerifyToken接口文档:https://help.aliyun.com/document_detail/57050.html
GetVerifyTokenRequest getVerifyTokenRequest = new GetVerifyTokenRequest();
getVerifyTokenRequest.setBiz(biz);
getVerifyTokenRequest.setActionName("GetVerifyToken");
getVerifyTokenRequest.setTicketId(ticketId);
getVerifyTokenRequest.setMethod(MethodType.POST);
//通过binding参数传入业务已经采集的认证资料,其中姓名、身份证号为必要字段
//若需要binding图片资料,请控制单张图片大小在 2M 内,避免拉取超时
Map<String,String> bindingMap = new HashMap<>();
bindingMap.put("Name",registerDto.getName());
bindingMap.put("IdentificationNumber",registerDto.getIdCardNumber());
getVerifyTokenRequest.setBinding(JSON.toJSONString(bindingMap));
GetVerifyTokenResponse response = null;
try {
response = client.getAcsResponse(getVerifyTokenRequest);
} catch (ClientException e) {
return ResultUtil.warn(ResultCode.OPERATION_ERROR,"认证接口异常");
}
token = response.getData().getVerifyToken().getToken(); //token默认30分钟时效,每次发起认证时都必须实时获取
String cloudauthPageUrl = response.getData().getCloudauthPageUrl();
cloudauthPageUrl+="&successRedirect=成功回调地址&failRedirect=失败回调地址
Map<String,Object> stringObjectMap = new HashMap<>();
stringObjectMap.put("token",token);
stringObjectMap.put("cloudauthPageUrl",cloudauthPageUrl);
stringObjectMap.put("ticketId",ticketId);
// System.out.println(token);
// System.out.println(cloudauthPageUrl);
// System.out.println(ticketId);
return ResultUtil.success(stringObjectMap);
}