UIFaceID

来自于:开发者立即使用

openFaceID getSdkVersion getSdkBuildInfo

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

UIFaceID 封装了FACE++SDK的身份验证(人脸核身/人脸比对)功能。FaceID 身份验证服务提供了“我是我”的真人核验能力,通过姓名、身份证号、人脸识别、活体验证等多种手段来有效的核实使用者的身份,有效防止身份冒用、欺诈等风险。face++平台地址

使用说明

1、客户完成企业认证后,创建API key。

2、客户Server按照规则生成签名,通过get_biz_token接口获取biz_token后,客户App调用SDK(详细接口文档参考face++官方接口描述)。

  1. POST https://openapi.faceid.com/face/v1.2/sdk/get_biz_token

3、使用UIFaceID模块打开UI页面,用户按照页面的提示,进行点头,摇头,眨眼等动作活体验证。

4、动作通过后,SDK内部调用FaceID Server接口进行服务器端的活体检测和权威身份验证。

5、身份验证的结果会通过模块回调接口返回给开发者,同时给到客户Server,客户Server可以通过API进行查询。

6、SDK返回的状态码信息说明。

result_coderesult_message含义解释
51000SUCCESS待比对照片与权威数据照片比对结果是同一个人
52000PASS_LIVING_NOT_THE_SAME待比对照片与权威数据照片比对结果不是同一个人
53000NO_ID_CARD_NUMBER权威数据无此身份证号
53000ID_NUMBER_NAME_NOT_MATCH身份证号,姓名不匹配
53000NO_FACE_FOUND权威数据照片中找不到人脸
53000NO_ID_PHOTO无法获取权威数据照片
53000PHOTO_FORMAT_ERROR权威数据照片格式错误
53000DATA_SOURCE_ERROR其他权威数据照片错误
54100FAIL_LIVING_FACE_ATTACK未经过活体判断,可能的原因:是假脸攻击
54100REPLACED_FACE_ATTACK发生换脸攻击,在做活体过程中出现两张不相同的人脸
54200BIZ_TOKEN_DENIED传入的 biz_token 不符合要求
54200AUTHENTICATION_FAIL鉴权失败,鉴权过程中非biz_token的错误
54200MOBILE_PHONE_NOT_SUPPORT手机在不支持列表里
54200SDK_TOO_OLDSDK版本过旧,已经不被支持
54200MOBILE_PHONE_NO_AUTHORITY没有权限(运动传感器、存储、相机)
54200USER_CANCELLATION用户活体失败,可能原因:用户取消了
54200USER_TIMEOUT用户活体失败,可能原因:验证过程超时
54200VERIFICATION_FAILURE用户活体失败,可能原因:验证失败
54200UNDETECTED_FACE用户活体失败,可能原因:未检测到人脸
54200ACTION_ERROR用户活体失败,可能原因:用户动作错误;
55000API_KEY_BE_DISCONTINUEDapi_key被停用
55000IP_NOT_ALLOWED不允许访问的IP
55000NON_ENTERPRISE_CERTIFICATION客户未进行企业认证
55000BALANCE_NOT_ENOUGH余额不足
55000MORE_RETRY_TIMES获取服务器配置时超过重试次数
55000ACCOUNT_DISCONTINUED用户帐号已停用
55000EXPIRED_SIGN签名过期
55000INVALID_SIGN无效的签名
55000REPLAY_ATTACK重放攻击,单次有效的签名被多次使用
56000USER_CANCEL用户取消
56000NO_CAMERA_PERMISSION没有打开相机的权限,请开启权限后重试
56000ILLEGAL_PARAMETER传入参数不合法
56000DEVICE_NOT_SUPPORT无法启动相机,请确认摄像头功能完好
56000INVALID_BUNDLE_ID信息验证失败,请重启程序或设备后重试
56000NETWORK_ERROR连不上互联网,请连接上互联网后重试
56000FACE_INIT_FAIL无法启动人脸识别,请稍后重试
56000LIVENESS_DETECT_FAILED活体检测不通过
56000NO_SENSOR_PERMISSION无法读取运动数据的权限,请开启权限后重试
56000NO_WRITE_EXTERNAL_STORAGE_PERMISSION没有读取写SD卡的权限
56000INIT_FAILED初始化失败
59000LIVING_NOT_START活体验证没有开始
59000LIVING_IN_PROGRESS正在进行验证
59000LIVING_OVERTIME操作超时,由于用户在长时间没有进行操作
50000UNKOWN_ERROR未知错误
50400IMAGE_ERROR_UNSUPPORTED_FORMAT:参数对应的图像无法解析,有可能不是图像文件、或有数据破损。为 image_ref1、 image_ref2中的一个。请注意:只会有一项,即第一个满足条件的名称。
50400MISSING_ARGUMENTS:缺少某个必选参数。
50400BAD_ARGUMENTS:某个参数解析出错(比如必须是数字,但是输入的是非数字字符串; 或者长度过长)
50400NO_FACE_FOUND:表示上传的 image_ref 的图像中,没有检测到人脸。
50400INVALID_IMAGE_SIZE客户上传的图像太大,具体是指像素尺寸的长或宽超过4096像素。为 image_ref1、 image_ref2中的一个。请注意:只会有一项,即第一个满足条件的名称。
50403AUTHORIZATION_ERROR:api_key被停用、调用次数超限、没有调用此API的权限,或者没有以当前方式调用此API的权限。
50429CONCURRENCY_LIMIT_EXCEEDED并发数超过限制
50404API_NOT_FOUND所调用的API不存在。
50413Request Entity Too Large客户发送的请求大小超过了20MB限制或单张照片大小超过了2MB。该错误的返回格式为纯文本,不是json格式。
50500INTERNAL_ERROR服务器内部错误,当此类错误发生时请再次请求,如果持续出现此类错误,请及时联系 FaceID 客服或商务

7、在iOS端需勾选相机的权限,否则会导致崩溃。

固件要求

Android:4.0及以上 iOS:8.0及以上

模块接口

openFaceID(异步接口)

打开face++的身份验证(人脸核身/人脸比对)界面

openFaceID({params}, callback(ret, err))

params

bizToken:

  • 类型:字符串型
  • 描述:(必填项)业务流水号。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status : true, //布尔型;true||false
  3. code : 51000,
  4. msg : "SUCCESS"
  5. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. code: "",
  3. msg:""
  4. }

示例代码

  1. var obj = api.require('UIFaceID');
  2. obj.openFaceID({
  3. bizToken : '',
  4. },function(ret, err) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getSdkVersion(同步接口)

获取的SDK版本号

getSdkVersion()

return

ret:

  • 类型:字符串

示例代码

  1. var obj = api.require('UIFaceID');
  2. var version = obj.getSdkVersion();
  3. alert(version);

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getSdkBuildInfo(同步接口)

获取的SDK构筑信息

getSdkBuildInfo()

return

ret:

  • 类型:字符串

示例代码

  1. var obj = api.require('UIFaceID');
  2. var buildInfo = obj.getSdkBuildInfo();
  3. alert(buildInfo);

可用性

iOS、Android系统

可提供的1.0.0及更高版本