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

配置依赖

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

  1. 下载增强版实人认证APICloud SDK,解压可获得iOS模块和Android模块。
    上传自定义模块选择上传文档时,分别选择iOS模块和Android模块对应目录下的文件。
  2. 在APICloud Studio界面中,上传增强版实人认证APICloud模块。
    1. 进入APICloud Studio界面,在左侧导航栏,单击1图标。
    2. 模块页面,单击自定义模块页签。
    3. 自定义模块页签,输入有效的模块名称模块概要及版本号,选择并上传已下载的APICloud模块。

      模块名称建议填写IdentityPlatformApiCloud。

      导入
    4. 单击保存
      自定义模块上传成功后,您可以在自定义模块页签的下方看到已上传的模块。
  3. 在APICloud Studio界面中,将APICloud模块添加到项目中。
    自定义模块页签页签,单击已上传APICloud模块右上角的1图标,将APICloud模块添加到项目中。添加
    说明 自定义模块仅对自己的账号可见。如果需要对外开放,您可以在模块管理页面提交该模块,官方审核通过后将会发布到模块库。

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

  4. 调用增强版实人认证服务。
    1. 获取MetaInfo数据。
      您在调用增强版实人认证服务端发起认证请求时需要传入该值。
    2. 开始认证。调用认证接口(faceVerify函数),传入CertifyId进行认证(CertifyId通过接口InitSmartVerify获取)。
      参数说明如下表所示。
      名称类型描述
      certifyIdString认证的唯一标识。
      extParamsMap<String, String>用户自定义参数,可以为空。关于自定义的字段,请参见下表所示。
      用户自定义参数extParams支持的字段说明。
      名称描述示例值
      kIdentityParamKeyShowResult是否需要展示OCR识别结果确认页。取值:
      • YES:要展示OCR识别结果确认页。
      • NO:不展示OCR识别结果确认页。
      YES
      kIdentityParamKeyWaterMark自定义证件图片水印文字。默认文字为仅供业务使用仅供业务使用
      kIdentityParamKeyIdCardFaceOnly是否仅识别身份证人像面。取值:
      • YES:仅识别身份证人像面。
      • NO:识别身份证人像面和国徽面。
      NO
      kIdentityParamKeyScanMaxTimeOCR证件扫描的超时时间,单位为秒,默认30秒。30
      kIdentityParamKeyValidIdCardDate是否校验身份证有效期。取值:
      • YES:校验身份证有效期。
      • NO:不校验身份证有效期。
      说明kIdentityParamKeyIdCardFaceOnly取值为NO时该参数生效。
      YES
      kIdentityParamKeyNextButtonColorOCR识别结果确认页底部按钮的底色。#FF0000
      kIdentityParamKeyOcrModeOCR模式。取值:
      • PHOTO(默认):拍照模式。
      • SCAN:扫描模式。
      PHOTO
      kIdentityParamKeyOcrSelectPhoto是否展示从相册选择图片的功能,取值:
      • YES(默认):展示从相册选择照片的功能。
      • NO:不展示从相册选择照片的功能。
      YES

代码示例

  • 获取MetaInfo数据:
    <script>
        //加载增强版实人认证插件。
      <script type="text/javascript">
        apiready = function(){
          //自定义模块的名称。
        var identityPlugin = api.require('IdentityPlatformApiCloud');
        var metaInfo = identityPlugin.getMetaInfo();
        };
    </script>
    </script>
  • 增强版活体验证服务代码示例:
    identityPlugin.faceCompare({
      "certifyId":"xxxxxxxxxx"    //填写从服务端获取的certifyId。
    }, function(ret, err){
      console.log('认证结果=>' + ret.code + ' reason=>' + ret.message);
    });

    响应结果示例:

    {
                        code:1000,    //错误码。
                        message:认证通过,    //错误码描述。
                        deviceToken:xxx,    //设备Token(如果需要则获取本字段)。
                        faceImage:xxx,     //本地返回的人脸照片(如果需要则获取本字段)。
                        ocrInfo:xxx      //OCR识别结果信息(如果需要则获取本字段)。
                    }

错误码说明

Code说明
1000认证通过。
1001认证失败。
1002系统异常。
1003SDK初始化失败,请确认客户端时间是否正确,手机系统时间被修改会导致阿里云网关校验异常。
1004摄像头错误。
1005网络错误。
1006用户取消。
1007CertifyId无效。
1009客户端时间戳错误。