交互式人脸核身(H5页面接入)
2026.03.05 17:41:19
一、接入流程

二、获取 authToken 和认证页面地址接口
接口说明
网易易盾信息认证服务使用签名方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature参数),以验证用户身份,防止信息被恶意篡改。目前支持MD5,SHA1,SHA256,SM3几种加密算法,详细信息,请参见接口鉴权
请求地址
| 名称 | 值 |
|---|---|
| HTTP URL | https://verify.dun.163.com/v1/face/liveness/h5/auth |
| HTTP Method | POST |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Content-Type | String | 是 | 固定值:"application/x-www-form-urlencoded" |
请求参数
请求参数由请求公共参数和请求业务参数两部分组成,通用参数见请求通用字段
| 名称 | 类 型 | 必填 | 是否支持加密 | 最大长度 | 描述 |
|---|---|---|---|---|---|
| name | String | 是 | 是 | 32 | 用户真实姓名,以身份证上姓名为准 |
| cardNo | String | 是 | 是 | 18 | 用户身份证号码,目前支持一代/二代身份证,号码必须为18位或15位,末尾为x的需要大写为X |
| redirectUrl | String | 是 | 否 | 512 | 认证成功后,重定向的URL地址;如果是小程序填写示例为:/pages/index/index |
| callBackUrl | String | 否 | 否 | 512 | 结果回调通知URL,回调请求方式默认为GET,回调地址必须以https开头。平台在完成认证后会回调该地址,并自动添加taskid、status字段,status字段值返回的是subcode值,示例:https://www.163.com?authToken=1000004826&taskld=shaxxxx&status=1 |
| retry | String | 否 | 否 | 8 | 认证失败是否重试 0不重试、1重试 为空默认重试 |
| dataId | String | 否 | 否 | 64 | 数据标识 可传⼊⽤户标识等数据 便于数据查询 |
| callbackValidate | String | 否 | 否 | 64 | 安全校验,由您⾃⾏⽣成,⽤于防重复、 防篡改校验。 如果设置了该值会在回调地址中显示callbackValidate字段 |
| encryptType | String | 否 | 否 | 加密方式 "3"-SM4加密 "4"-AES加密(目前只支持SM4加密和AES加密,若添加了此字段,则必须将可加密的字段全部加密,不可只对部分字段加密) |
响应返回码
响应返回码见:响应返回码
响应结果
响应字段如下,响应通用字段已省略,详细见响应公共字段
| 参数名称 | 类型 | 必须返回 | 描述 |
|---|---|---|---|
| authUrl | String | 是 | 认证地址 |
| authToken | String | 是 | 认证 Token,有效期30分钟 |
响应结果示例
当认证成功时,输出示例如下:
{
"code": 200,
"msg": "ok",
"result": {
"authUrl": "xxx",
"authToken": "xxx "
}
}
三、authToken 校验接口
接口说明
网易易盾信息认证服务使用签名方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature参数),以验证用户身份,防止信息被恶意篡改。目前支持MD5,SHA1,SHA256,SM3几种加密算法,详细信息,请参见接口鉴权
请求地址
| 名称 | 值 |
|---|---|
| HTTP URL | http://verify.dun.163.com/v1/face/liveness/h5/recheck |
| HTTP Method | POST |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Content-Type | String | 是 | 固定值:"application/x-www-form-urlencoded" |
请求参数
请求参数由请求公共参数和请求业务参数两部分组成,通用参数见请求通用字段
| 名称 | 类 型 | 必填 | 最大长度 | 描述 |
|---|---|---|---|---|
| authToken | String | 是 | 32 | 认证 Token,有效期30分钟 |
响应返回码
响应返回码见:响应返回码
响应结果
响应字段如下,响应通用字段已省略,详细见响应公共字段
响应结果示例
人脸核身:详情参考交互式人脸核身接口: 认证成功时,输出示例如下:
{
"code": 200,
"msg": "ok",
"result": {
"taskId": "6ddcf5e32f2143b9a66f3e42c604374a",
"picType": 1,
"avatar": "https://dun-au-authentication.vod.126.net/9dde6e940e174145b0024cf0bd60d4cb-0-0?Signature=iuH5PTh7dxpg2il5GlCPoL4ePTSeJ1v1AlndWrlLLB4%3D&Expires=1766559711&NOSAccessKeyId=6916763c068e49bb9c235018e2c88911",
"status": 1,
"reasonType": 1,
"isPayed": 1,
"similarityScore": 0.9940698,
"faceMatched": 1,
"faceAttributeInfo": null,
"extInfo": {
"suspectedNonageFlag": false
}
}
}
四、前端重定向参数
认证成功后,跳转到重定向地址时会携带以下参数
| 名称 | 类 型 | 必填 | 描述 |
|---|---|---|---|
| authToken | String | 是 | 认证 token,有效期30分钟 |
| code | String | 否 | 验证结果码,0 表示成功,当 retry 为 0 时才会返回,其他错误代码见下表 |
| success | String | 否 | 验证结果,当 retry 为 0 时才会返回,true 表示验证成功,false 表示验证失败 |
| callbackValidate | String | 否 | 安全校验值,只有当 callbackValiate 不为空时返回 |
SDK 错误码
| 错误码 | 说明 | 用户提示 |
|---|---|---|
| 10001 | 网络错误 | 前方拥堵,请重新尝试 |
| 11000 | 相机权限获取失败 | 无法获取相机权限 |
| 11001 | 认证失败 | 前方拥堵,请重新尝试 |
| 11002 | 浏览器不兼容 | 浏览器不兼容 |
| 11003 | 相机权限被拒绝 | 无法获取相机权限 |
| 11004 | 未找到摄像头 | 无法读取摄像头 |
| 11005 | 摄像头硬件错误 | 无法读取摄像头 |
| 11006 | 摄像头分辨率过低 | 摄像头分辨率过低 |
| 11007 | 摄像头未知错误 | 无法读取摄像头 |
| 11008 | 炫瞳检测失败 | 炫瞳检测失败 |
人脸核身服务端错误码
| 错误码 | 说明 | 用户提示 |
|---|---|---|
| 2 | 身份信息不匹配 | 活体通过,但身份信息不一致 |
| 3 | 身份信息不匹配 | 活体通过,但身份信息不一致 |
| 4 | 活体检测失败 | 活体检测不通过 |
| 5 | 活体检测超时 | 前方拥堵,请重新尝试 |
| 6 | 身份信息不一致 | 活体通过,身份信息不一致 |
| 7 | 无身份证照片 | 活体通过,身份信息不一致 |
| 8 | 照片过大 | 活体通过,身份信息不一致 |
| 9 | 权威数据错误 | 前方拥堵,请重新尝试 |
| 10 | 疑似攻击 | 活体检测不通过 |
| 11 | 识别到未成年人 | 识别到未成年人 |
