AI-腾讯云人脸核身之独立H5接入

概述

AI人脸识别,使用官方API:腾讯云人脸核身之独立H5接入。接口官方返回code = 0 表示成功,其他code码值均为对应码值信息,详见错误码
注意:
1.合作方上送身份信息的计算签名参数与启动人脸核身计算签名参数不一致,有部分区别。
2.wbappid = webankAppId = app_id(如果我没理解错的话,API中介绍命名不同)
3.建议token和signticket一起做下20分钟定时刷新机制,保证缓存里的signticket是最新并且有效的

实现流程

合作方后台上送身份信息
  1. 前端入参:客户身份证号、客户姓名、from(App || browser)
  2. 后端固定参数:wbappid = webankAppId = app_id(API中介绍命名不同,注意)、orderNo(可自定义随机生成不唯一)、userId(可自定义随机生成不唯一)、version
  3. 获取signTicket(通过token)---- 获取方式代码见下
  4. 计算合作方上送身份信息签名,参数有:wbappid、orderNo、name、idNo、userId、version、signTicket ---- 计算方式代码见下
启动H5人脸核身
  1. 在合作方成功上送身份信息后,可以获取到h5faceId
  2. 获取nonce(32位随机数)
  3. 获取nonceTicket(通过token & userId)
  4. 计算启动H5人脸核身签名,参数有:wbappid、orderNo、userId、version、h5faceId、nonce、nonceTicket
  5. 将成功拉起人脸核身验证通过后的回调页面链接配置至配置文件,同时对该链接进行encode编码
  6. 获取到所有拉起人脸核身所需参数后,向链接https://ida.webank.com/api/web/login拼接上参数:webankAppId、version、nonce、orderNo、h5faceId、url、sign、from、userId。例如:
https://ida.webank.com/api/web/login?webankAppId="+wbappid+"&version=1.0.0&nonce="+nonce+"&orderNo="+orderNo+"&h5faceId="+h5faceId+"&url="+url+"&userId="+userId+"&sign="+sign+"&from="+userVo.getFrom()+"

拼接好后,直接将该链接返回前端去打开即可拉起人脸核身。请注意,该链接仅一次有效!!!

核心代码实现

获取accessToken
    @Override
    public String getToken(){

        String accessTokenTencent = (String) redisService.get("accessTokenTencent");
        log.info("获取redis中的accessToken,为:[{}]", accessTokenTencent);
        if ("".equals(accessTokenTencent) || accessTokenTencent == null) {

            Map<String, String> param = new HashMap<>(16);
            String tokenUrl = "https://idasc.webank.com/api/oauth2/access_token?app_id={app_id}&secret={secret" +
                    "}&grant_type={grant_type}&version=1.0.0";
            param.put("app_id", wbappid);
            param.put("secret", secret)
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值