UIFaceID

来自于:开发者立即使用

概述

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

使用说明

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

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

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

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

openFaceID(异步接口)

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

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

params

bizToken:

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

callback(ret, err)

ret:

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

err:

  • 类型:JSON对象
  • 内部字段:
{
    code: "",
    msg:""
}

示例代码

var obj = api.require('UIFaceID');
obj.openFaceID({
    bizToken : '',
},function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getSdkVersion(同步接口)

获取的SDK版本号

getSdkVersion()

return

ret:

  • 类型:字符串

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getSdkBuildInfo(同步接口)

获取的SDK构筑信息

getSdkBuildInfo()

return

ret:

  • 类型:字符串

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本