阿里云实人认证 java 后台代码 前端请求后台后台返回token和自己创建的ticketId给前端

 @PostMapping("/AliAuthen")public ResultModel AliAuthen(){//创建DefaultAcsClient实例并初始化DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",             //默认"",         //您的Access Key ID"");    //您的Access Key SecretIAcsClient client = new DefaultAcsClient(profile);String biz = ""; //您在控制台上创建的、采用RPBasic认证方案的认证场景标识, 创建方法:https://help.aliyun.com/document_detail/59975.htmlString ticketId = UUID.randomUUID().toString(); //认证ID, 由使用方指定, 发起不同的认证任务需要更换不同的认证IDString token = null; //认证token, 表达一次认证会话int statusCode = -1; //-1 未认证, 0 认证中, 1 认证通过, 2 认证不通过
//1. 服务端发起认证请求, 获取到token
//GetVerifyToken接口文档:https://help.aliyun.com/document_detail/57050.htmlGetVerifyTokenRequest getVerifyTokenRequest = new GetVerifyTokenRequest();getVerifyTokenRequest.setBiz(biz);getVerifyTokenRequest.setTicketId(ticketId);try {GetVerifyTokenResponse response = client.getAcsResponse(getVerifyTokenRequest);token = response.getData().getVerifyToken().getToken(); //token默认30分钟时效,每次发起认证时都必须实时获取} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {e.printStackTrace();}Map<String,Object>  map = new HashMap();map.put("token",token);map.put("ticketId",ticketId);return ResultModel.success(map);}

前端认证通知结果请求后台(也可以不请求,建议以后台的返回认证结果为主)

@PostMapping("/getAliResult")public ResultModel getAliResult(Long userId,String ticketId,HttpServletRequest request) throws IOException {DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",             //默认"",         //您的Access Key ID"");    //您的Access Key SecretIAcsClient client = new DefaultAcsClient(profile);String biz = ""; //您在控制台上创建的、采用RPBasic认证方案的认证场景标识, 创建方法:https://help.aliyun.com/document_detail/59975.html//  String ticketId = UUID.randomUUID().toString(); //认证ID, 由使用方指定, 发起不同的认证任务需要更换不同的认证IDint statusCode = -1;GetStatusRequest getStatusRequest = new GetStatusRequest();getStatusRequest.setBiz(biz);getStatusRequest.setTicketId(ticketId);try {GetStatusResponse response = client.getAcsResponse(getStatusRequest);statusCode = response.getData().getStatusCode();} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {e.printStackTrace();}
//7. 服务端获取认证资料
//GetMaterials接口文档:https://help.aliyun.com/document_detail/57641.htmlGetMaterialsRequest getMaterialsRequest = new GetMaterialsRequest();getMaterialsRequest.setBiz(biz);getMaterialsRequest.setTicketId(ticketId);if( 1 == statusCode || 2 == statusCode ) { //认证通过or认证不通过try {if(1 == statusCode){GetMaterialsResponse response = client.getAcsResponse(getMaterialsRequest);GetMaterialsResponse.Data data = response.getData();//身份证正反面图片 阿里云只会暂时保管,几小时就会失效,所以需要的把图片下载 下来String idCardFrontPic = data.getIdCardFrontPic()";String idCardBackPic = data.getIdCardBackPic()";String picturefront = getPicture(request,idCardFrontPic );String pictureback =  getPicture(request,idCardBackPic );}if(2== statusCode){return   ResultModel.error(false);}//后续业务处理} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {e.printStackTrace();}}return ResultModel.success(true);}

引用的pom

<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.1.2</version></dependency><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-cloudauth</artifactId><version>1.3.1</version></dependency>

下载阿里云图片工具类

 //阿里云图片保存到本地public static String getPicture(HttpServletRequest request,String urlHttp){String name=System.currentTimeMillis() + ".jpg";String na = "/upimgs/" + name;String filename = request.getServletContext().getRealPath("/WEB-INF")+na;//String file = "D://aa" + "/" + new Date().getTime() + ".jpg";try {URL url = new URL(urlHttp);BufferedImage img = ImageIO.read(url);ImageIO.write(img, "jpg", new File(filename));} catch (Exception e) {e.printStackTrace();}return filename;}

Java 阿里云实人认证相关推荐

  1. 12月27日云栖精选夜读:实人认证 - 阿里云实人认证(公测)发布

    2019独角兽企业重金招聘Python工程师标准>>> 产品介绍: [""实人认证"服务是阿里巴巴从自身业务发展出来的一项在线身份校验服务,为您提供一套 ...

  2. 阿里云实人认证有什么特点

    阿里云实人认证是对用户身份信息真实性核验的服务,验证用户为真人且为本人.包含证件 OCR 识别.活体检测.人脸对比等能力,安全效果在金融场景被有效验证,广泛应用于社交.网约车出行.银行.保险等行业. ...

  3. 阿里云实人认证的功能及应用

    阿里云实人认证有哪些功能呢?今天我们来介绍一下 全面的接入方式 多样化产品接入方式,满足不同业务端口需求 APP 完美适配iOS.Android的原生sdk,同时也支持Uni-APP.Flutter等 ...

  4. iOS开发-集成阿里云实人认证

    阿里实人认证 前言:为了让会员快速实名认证,项目中集成了阿里云实人认证,采用的是RPBioOnly方案 实人认证服务,用户流程为:仅活体检测: 由服务端换取认证 Token,并通过Binding参数传 ...

  5. PHP 阿里云实人认证

    公司做了视频直播的功能,审核的时候发现需要主播做实人认证,我接手了这个功能的研发.刚开始就是百度搜了一圈,但是感觉有点复杂,于是仔细研究了一下阿里云的文档和SDK,发现后端实现其实很简单,配合前端来做 ...

  6. 阿里云实人认证 人脸识别

    最近接阿里云实人认证,犯了一个最常见的错误,人脸识别的相机一直调不起来,原来是sdk更新了 sdk下载地址

  7. 阿里云实人认证生成签名SignNature工具类

    此类是有时间写的,使用阿里云给出的demo测试正确.实际在调用阿里云的实人认证接口时并未用到,可直接集成相关的sdk. 代码 package cn.com.chnsys.utils;import ja ...

  8. Android端阿里云实人认证

    参数连接 Android接入 - 金融级实人认证 - 阿里云 企业认证完以后,下载aar包添加到项目中,同时添加依赖即可. 在Application 中调用初始化 ZIMFacade.install( ...

  9. 阿里云、腾讯云实人认证(身份证、人脸图像比对)

    调用第三方API,实现实名认证的功能. 阿里云实名认证 首先,导入maven依赖 <dependency><groupId>com.aliyun</groupId> ...

最新文章

  1. J.U.C系列(四)FutrueTask的使用
  2. SDN第二章 Ubuntu系统常用操作命令
  3. 驱动精灵2007_畅玩Steam的Win10游戏掌机发布! |莱莎2新战斗动画,肉腿致命驱动~...
  4. Linux-破解rhel7-root密码
  5. leetcode练习旋转数组
  6. iOS开发-iPhone屏幕尺寸
  7. qq说说时间轴php实现,QQ说说时间 qq说说时间轴
  8. NRI的统计学意义与临床意义
  9. 最新php版本下载地址
  10. Jaccard和Levenshtein
  11. Python环境配置和安装包总结
  12. 全志Tina Linux Camera 摄像头模块开发指南 全网最详细版本支持百问网T113-Pro DongshanPI-NezhaD1-H DongshanPI-D1s V853-Pro等开发板
  13. 一起DIY四轴飞行器(二)初识飞控大脑
  14. 焊接工艺技巧与电烙铁使用——经验篇
  15. linux 网卡对应网口查看方式
  16. Python开发环境安装教程
  17. 山东大学计算机研究生英语四级,山东大学英语四级考试
  18. python程序设计基础教程骆焦煌_Python程序设计基础教程
  19. Vue 2_3.vue的v-on键盘事件和阻止事件默认行为
  20. ExcelVba 选区遍历

热门文章

  1. 数据挖掘与数据化运营实战. 3.5 交叉销售模型
  2. 学计算机的心理300字,心理作文300字3篇
  3. php的swoole教程,PHP + Swoole2.0 初体验(swoole入门教程)
  4. 利用Photoshop通道制作BMP格式的透明图标
  5. u深度制作linux启动盘制作工具,u深度u盘启动盘制作工具 v3.1.15.316
  6. 箭头函数(Arrow Function)
  7. azkaban任务状态一直在Preparing状态不能更新的解决办法
  8. matlab 抛物线法求最小值,抛物线法matlab
  9. 计算广告基础知识(二)
  10. 虚幻引擎图文笔记:使用物理模拟(Physical Simulation)给角色添加一个马尾辫