UIFaceID
来自于:开发者立即使用
openFaceID getSdkVersion getSdkBuildInfo
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
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端需勾选相机的权限,否则会导致崩溃。
固件要求
Android:4.0及以上 iOS:8.0及以上
模块接口
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及更高版本