接入指南
本文档将帮助您完成人脸实名认证-H5意愿核身方案的创建及接入全流程。
一、 准备工作
在正式集成前,需要做一些准备工作,完成一些账号、应用及方案配置,具体如下:
Step1: 注册成为开发者
在使用百度人脸实名认证方案之前,首先需注册百度智能云账号,账号注册方式请参考账号注册指南。
百度智能云账号注册完成以后,为顺利调用百度AI能力,需完成企业认证。具体认证方式请参考企业认证指南。
Step2:创建应用
2.1 输入应用名称,领取免费额度
- 创建好账号后,在正式调用AI 能力之前,需首先创建应用,应用是调用服务的基础能力单元,目前仅支持人脸识别应用。
- 同时领取接口所需的免费调用额度,用于接入测试。如下图所示:
![image.png](https://bce.bdstatic.com/doc/ai-cloud-share/FACE/3581629083393_.pic_hd_306470c.jpg)
- 除人脸服务接口的免费调用额度外,还需领取身份证识别接口的免费调用额度,用来调用身份证OCR识别功能(必须领取,否则会报错服务异常),点击此处,按下图所示进行领取。
![](https://bce.bdstatic.com/doc/ai-cloud-share/FACE/领取资源_4d2a627.png)
- 如您之前已经领取过免费额度,无需重复领取,请跳至下一步骤。
2.2 勾选所需接口
-
人脸识别服务相关接口已默认勾选且不可取消。
- 注:「接口选择」过程中,还需勾选「文字识别」中的「身份证识别」接口,用于实现身份核验流程中的身份证识别功能。如下图所示。
![实名认证系统-接口选择-1.gif](https://bce.bdstatic.com/doc/ai-cloud-share/FACE/2801627450903_.pic_hd_e581308.jpg)
Step3:创建项目
- 进入控制台-人脸实名认证页面,选择『项目管理』页面,点击『新建项目』,进行项目创建,如下图所示。
创建项目前,请确保您在应用控制台已创建应用,若您未创建应用,请参考Step2创建应用后,再进行项目创建.
![image.png](https://bce.bdstatic.com/doc/ai-cloud-share/FACE/image_cfb59ce.png)
Step4:创建方案
- 项目创建完成后,点击「方案管理」进入方案管理页面,在这里您可以为您的项目创建不同的方案,如下图所示。
![image.png](https://bce.bdstatic.com/doc/ai-cloud-share/FACE/image_cc44cea.png)
若您的场景为微信、H5页面,『场景方案』请选择H5实名认证方案。
4.1 标题设置
- 标题设置:输入的标题文本内容,将作为您H5意愿核身页面中,页面头部居中展示的标题。
例:当输入的内容为『标题名称创建演示』时,将于H5实名认证页面的头部进行展示,如下图
![]()
- 是否展示标题栏:默认选择展示,如您的场景为APP内嵌H5页面,可能会存在APP自带标题栏与H5页面标题栏同时存在的情况,为避免“双标题”影响用户体验,您可设置不展示H5页面标题栏。
例:双标题情况如下图,可配置隐藏H5页面标题栏
![]()
4.2 授权声明配置
在这里您可以配置授权声明的信息,您也可以选择跳过此配置。
4.3 证件类型及信息录入配置
-
比对源选择:
权威数据源比对:核验时需传入姓名及身份证号,实时采集人脸图片,与权威数据源进行一致性比对。
与上传图片比对:无需传入姓名或身份证号,实时采集人脸图片,与预先通过对比图片上传API上传的指定人脸图进行1:1比对。
仅活体检测:无需传入姓名或身份证号,实时采集人脸图片进行真人检测,底层使用在线图片活体V4接口判断。
- 非大陆数据源:默认不使用。配置打开后支持对中国居民二代身份证、港澳台居民往来内陆通行证、外国人永久居留证、定居国外的中国公民护照及港澳台居民居住证的验证。若不打开,则只支持中国居民二代身份证的验证。
-
身份信息录入方式:支持身份证识别OCR、手动输入、指定用户身份核验三种。
- 当选择身份证识别OCR后,支持配置身份证风控功能,开启后,对身份证的真伪进行判断,支持识别翻拍、PS伪造的身份信息,但开启后会存在少量误通过和误识别现象。同时支持配置身份证人像面+国徽面及人像面的选择,选择后通过查询接口可以查询到接口的返回信息。
- 当选择手动输入后,支持用户自己输入姓名及身份证号信息。
- 当选择指定用户身份核验后,支持指定用户的姓名+身份证号信息,用户侧无需输入,只需进行人脸采集及活体检测即可。 注意:若需要指定用户身份核验,则需要先请求 指定用户信息上报接口 再请求H5实名认证方案的URL。
4.4 方案配置
如果您选择"自定义方案",可参考以下配置说明对图像质量、活体检测、合成图等参数进行灵活配置。
- 图像质量检测:分为严格、正常、宽松三个等级,越严格,图片对角度、模糊度、遮挡等信息参数把控越高,推荐使用宽松。
- 活体检测:分为严格、正常、宽松三个等级,越严格,对活体的检测等信息把控越高,推荐使用正常。
- 合成图检测:分为严格、正常、宽松三个等级,越严格,对合成图的检测等信息把控越高,推荐使用正常。
- 活体检测方案: 如下图所示,您可灵活选择适合自身业务的活体检测方式(如远近、炫瞳、动作等),同时也可针对业务场景选择不同的云端活体检测模型。并且,H5实名认证方案采用实时活体检测形式,无需用户拍摄上传视频,直接在前端完成检测流程,提升整体核验流程的流畅度及用户体验。
- 是否增加用户意愿检验:意愿核身能力方案开关,选择「是,增加用户意愿校验」,将在活体校验环节后,通过语音朗读的模式校验用户真实意愿,请您确认“意愿核身(人脸实名认证)”、“意愿核身(人脸对比)”接口已开通付费。
- 远近活体(实时):通过屏幕实时的交互动画提示,引导用户前后移动手机设备,由近及远或由远及近地进行多距离检测,配合眨眼动作验证,实现对3D头模、AIGC合成图、翻拍等活体攻击的拦截。相比于其他活体检测方式,对高清屏翻拍、AIGC合成图有更强的抵抗效果,适合对于安全性要求较高的业务场景。
- 炫瞳活体检测(实时):基于屏幕颜色打光的方式,通过面部反光和瞳孔反光对核验人员进行活体判断。相比于行业内传统的动作活体和视频活体检测方式,通过率大大提升,使用效率更加流畅便捷,有效拦截视频、图片伪造、3D面具、合成图等黑产攻击。炫瞳活体检测一般搭配1-2个前置动作,进一步提升安全性。
- 动作活体检测(实时):通过用户做指定动作来验证当前拍摄视频的用户是否为活体。支持指定动作的个数进行验证,支持设置指定1-3个验证动作,推荐使用1或者2个动作进行验证。
- 静默视频活体检测(实时):通过用户录制一段视频来验证当前拍摄视频的用户是否为活体。
- 非实时活体检测(录制视频):拍摄人脸图片/视频上传至云端接口进行核验,支持图片、静默、语音、动作等多种活体检测形式。
附录:活体检测阈值指标 (高于此阈值即判断为活体)
控制度 | 对应阈值 | 说明 |
---|---|---|
宽松 | 0.05 | 万分之一活体误拒率 |
正常(推荐) | 0.3 | 千分之一活体误拒率 |
严格 | 0.9 | 百分之一活体误拒率 |
附录:合成图检测阈值指标 (高于此阈值即判断有合成图攻击风险)
控制度 | 阈值 | 误拒率(FRR) | 通过率 | 攻击拒绝率(TRR) |
---|---|---|---|---|
宽松 | 0.00109 | 0.1% | 99.9% | 84.57% |
正常(推荐) | 0.00048 | 1% | 99% | 89.71% |
严格 | 0.00023 | 5% | 95% | 94.93% |
4.5 认证结果配置
通过上传「姓名+身份证号+人脸图片」三要素到人脸实名认证接口,通过调取权威数据源判断是否为本人操作;或者上传「自传图片+人脸图片」到人脸对比接口,获取2张图片的相似度分数判断是否为本人操作。
- 提供的认证结果页面:您可以选择是否使用百度提供的展示给用户认证结果的页面,若您选择自己开发,可选择不使用。
- 认证未通过时URL是否失效:当用户认证未通过时,部分用户会出现多次重新请求验证的情况,您可通过此项配置控制用户认证数。
- 阈值:此阈值设置的是用户上传图片与公安权威数据源图片进行比对后得分的阈值,高于此阈值即判断为用户本人。阈值设置推荐为80,您可通过实际业务场景继续调整。
4.6 意愿核身降级活体方案配置
- 意愿核身默认【禁止降级,不兼容时中断流程跳转失败结果页】:当选择此选项时,因浏览器、手机系统以及APP内核等环境因素导致实时活体检测不兼容时,当前核验流程结束,自动跳转至方案结果页。
Step5:提交方案,扫码预览
方案配置完成后,点击提交按钮,进入方案管理页面,鼠标点击「查看二维码」即可显示二维码信息,扫码即可体验H5意愿核身流程,如下图所示。
以上体验流程仅当身份信息录入方式选择身份证识别OCR时生效,选择手动输入、业务调用时传入身份信息时则无法体验。 请谨慎修改上述H5方案配置,在点击「提交」后会实时对方案配置进行更新。若您需要修改方案,请在不影响线上业务的情况下进行调整。
二、 方案接入
Step1:获取token
通过获取Token接口获取verify_token信息
Step2: 确认用户信息上报方式
- 如果选择用户手动输入或者拍照上传的方式,则跳过Step2,直接进入Step3
- 如果选择通过API的形式传输用户信息,不需要用户手动输入,则通过指定用户信息上报接口上传对应的接口。
Step3:跳转实名认证H5 URL,用户进行操作
业务H5网页通过获取Token接口返回的verify_token信息请求认证H5页面,进行用户端流程操作。
认证URL: https://brain.baidu.com/face/print/?token=xxx&successUrl=https://xxx&failedUrl=https://xxx%3CBr%3E
参数 | 含义 | 备注 |
---|---|---|
token | 填写verify_token,verify_token获取参考获取verify_token参考文档 | |
successUrl | 请求成功跳转的网址,网址需要加http/https前缀 | 如果流程回调需要携带token,建议传递https://www.successurl.com/xxxxxx?token=xxxx, 成功后会直接回调该地址 |
failedUrl | 请求失败跳转的网址,网址需要加http/https前缀 |
如果流程回调需要携带token,建议传递https://www.failedUrl.com/xxxxxx?token=xxxx, 失败后直接回调该地址 |
successUrl和failedUrl推荐使用encodeURIComponent进行转义,不然可能无法正确跳转,转义示例如下:
encodeURIComponent("https://ai.baidu.com")
操作流程参考如下:
Step4:获取认证结果及资料,返回用户认证信息
在用户完成认证(成功或者失败)后,我们会分别回调successUrl和failedUrl,传递?token=xxx参数,业务上可以根据token字段获取对应的数据,其中包括比对分数、图片等数据均需要通过后查询的接口进行查询。可以参考获取认证人脸接口文档、查询认证结果接口文档、查询统计结果接口文档查询用户人脸实名认证流程的相关信息,以进行后续业务集成开发。
三、 自有APP内嵌H5页面
如您需要在自有APP渠道中,通过webview方式内嵌H5页面,使用人脸实名认证H5方案。
我们为您提供了兼容性配置方法及其所需组件,以减少您可能遇到的兼容性问题,详细配置方法请参见APP内嵌H5兼容性配置文档。
如您使用该场景,为了更好地配合组件使用,请在您的认证URL后,增加参数&useNative=1,以使用js-bridge通信功能。如: https://brain.baidu.com/face/print/?token=xxx&successUrl=https://xxx&failedUrl=https://xxx%3CBr%3E&useNative=1