金融级实人认证提供APICloud插件,帮助您在业务应用(App)中实现刷脸认证功能。您可以通过应用服务端认证初始化接口,向阿里云服务器调用发起认证请求接口并获取刷脸认证的唯一标识CertifyId,然后使用CertifyId唤起刷脸认证客户端SDK。本文介绍了APICloud客户端接入的操作方法。

背景信息

低代码平台APICloud的模块库提供多种模块。您可以使用已有模块,在应用中快速部署集成,缩短开发流程。当已有模块无法满足特殊需求时,您也可以自定义相关模块。

接入前必读

近期发现有个人开发者封装阿里云实人认证SDK后开发了第三方插件,并在某平台上提供付费下载服务。阿里云提醒您,如果您使用了此类非阿里云官方提供的插件或服务,阿里云概不对由此造成的一切后果负责,亦不承担任何法律责任。建议您使用阿里云官方SDK服务。

前提条件

已在APICloud官网中创建应用。

配置依赖

  1. 下载金融级实人认证APICloud SDK
  2. 在APICloud控制台上传刷脸认证APICloud模块。
    1. 登录APICloud控制台
    2. 在左侧导航栏,选择端开发 > 模块
    3. 模块页签,选择自定义模块
    4. 自定义模块页签,输入有效的模块名称模块概要及版本号,选择并上传已下载的APICloud模块。
      自定义模块页签
    5. 单击保存
  3. 将APICloud模块添加到应用中。
    1. 模块页签,选择模块库
    2. 模块库页签,单击已上传APICloud模块右上角的1图标,将APICloud模块添加到应用中。
      添加模块
      说明 自定义模块仅对自己的账号可见。如果需要对外开放,您可以在模块管理页面提交该模块,官方审核通过后将会发布到模块库。

      当您需要更新已上传的自定义模块时,可以通过已上传自定义模块右上角的编辑图标,重新上传自定义模块包,然后单击保存

函数说明

APICloud插件的接入流程包含获取MetaInfo和开始认证函数。具体说明如下。

  • 获取MetaInfo数据

    调用getMetaInfo函数获取当前移动设备端的环境信息,并将这些信息发送到业务服务器端。业务服务器端会将这些信息作为参数之一(MetaInfo)调用服务端初始化认证接口(InitSmartVerify),从而获取CertifyId,用于后续验证环节。

    示例代码:
    var aliyunFace = api.require('aliyunFaceVerifyModule');
    aliyunFace.getMetaInfo(function(ret, err) {
        alert(ret);
    });
  • 开始认证

    调用Verify函数发起金融级实人认证。

    参数说明:
    名称类型说明
    certifyIdString从服务端初始化认证接口(InitFaceVerify)获取的CertifyId
    说明 每个CertifyId只能调用一次Verify函数,每次调用Verify函数之前都必须重新获取CertifyId
    extParamsMap<String, String>用户自定义参数,可以为空。有关目前支持自定义的字段,请参见下文用户自定义参数extParams支持的字段说明。
    callbackIdentityCallback认证结果回调。回调格式如下:
    public class IdentityResponse {
        // 结果Code,具体含义请参见本文档“返回值说明”章节。
        public int code;
        
        // 结果Code描述。
        public String message;
    }
    
    public interface IdentityCallback {
        boolean response(IdentityResponse response);
    }
    表 1. 用户自定义参数extParams支持的字段说明
    名称描述示例值
    ext_params_key_use_video是否需要返回视频留证。取值:
    • false(默认):不返回视频留证。
    • true:返回视频留证。
    false
    kIdentityParamKeyNextButtonColorOCR识别结果确认页底部按钮的底色。#FF0000
    ext_params_key_face_progress_color定制实人认证进度条的颜色。#FF0000
    示例代码:
    var aliyunFace = api.require('aliyunFaceVerifyModule');
    aliyunFace.verify({
        certifyId: '1adffa'
    }, function(ret, err) {
        if (ret.code == 1000) {
            alert('认证成功');
        } else {
            alert(err.code);
        }
    });

错误码说明

服务器端的验证结果通过IdentityResponse.code返回,说明如下。
错误码错误码文案错误码描述
1000刷脸成功代表刷脸成功,该结果仅供参考,可通过调用服务端DescribeFaceVerify接口获取最终认证结果。
1001系统错误表示系统错误。
1003验证中断表示验证中断。
2002网络错误表示网络错误。
2003客户端设备时间错误表示客户端设备时间错误。
2006刷脸失败表示刷脸失败,如需获取更详细的失败原因,需调用服务端DescribeFaceVerify接口获取。