阿里云实人认证 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. 速度提升270倍!微软和浙大联合推出全新语音合成系统FastSpeech
  2. 程序员才懂的“凡尔赛语录”
  3. 使用JQuery实现延迟加载UserControl
  4. 实现IFrame的自适应高度
  5. mysql 主从复制介绍_MySQL 主从复制介绍
  6. LeetCode979. 在二叉树中分配硬币
  7. (转)Javascript的DOM操作 - 性能优化
  8. 吊打面试官系列:你会「递归」么?
  9. Flask报错RuntimeError: No application found. Either work inside a view function or push an applicatiio
  10. linux 提取有效源码,MPSOC之4——petalinux提取源码
  11. Notepad++一键编译运行(Python、Java、C++)
  12. justify-content
  13. MATLAB学习笔记
  14. 全志 Allwinner V3S 开发环境搭建 (一)虚拟机搭建 Oracle VM VirtualBox6.1 Ubuntu14.4
  15. 软件设计——依赖倒置
  16. 【NRF51822】DFU过程梳理
  17. 初中数学分几个模块_初中数学所有概念! 初中数学一共可以分为几个模块,分别是什么?...
  18. 电脑录像软件推荐?分享3款,简单好用且方便
  19. Linux基础(2)/Linux 基本概念及操作
  20. 计算机组成原理各章测试错题

热门文章

  1. Eclipse小技巧--修改@auther和去掉//TODO
  2. Goland自定义头部注释,增加author和data等(学习笔记,不作教程)
  3. 一周学python系列(7)——面向对象
  4. ESP32学习笔记(1)——搭建环境、编译烧写(Windows+VS Code)
  5. 抖音很火的动态表白源码
  6. 详解如何在vue项目中使用lodop打印插件,以及样式打印预览缺失的问题(底部)
  7. Unity3D学习笔记(十二)预制
  8. html的div双线边框,设置div边框
  9. java poi解析excel_Java 利用POI 解析Excel
  10. Backtrader(十一) - Indicator指标