接入指南
本文档将帮助您完成人脸实名认证-H5意愿核身方案的创建及接入全流程。
一、 准备工作
在正式集成前,需要做一些准备工作,完成一些账号、应用及方案配置,具体如下:
Step1: 注册成为开发者
在使用百度人脸实名认证方案之前,首先需注册百度智能云账号,账号注册方式请参考账号注册指南。
百度智能云账号注册完成以后,为顺利调用百度AI能力,需完成企业认证。具体认证方式请参考企业认证指南。
Step2:创建应用
2.1 输入应用名称,领取免费额度
- 创建好账号后,在正式调用AI 能力之前,需首先创建应用,应用是调用服务的基础能力单元,目前仅支持人脸识别应用。
- 同时领取接口所需的免费调用额度,用于接入测试。如下图所示:
- 除人脸服务接口的免费调用额度外,还需领取身份证识别接口的免费调用额度,用来调用身份证OCR识别功能(必须领取,否则会报错服务异常),点击此处,按下图所示进行领取。
- 如您之前已经领取过免费额度,无需重复领取,请跳至下一步骤。
2.2 勾选所需接口
-
人脸识别服务相关接口已默认勾选且不可取消。
- 注:「接口选择」过程中,还需勾选「文字识别」中的「身份证识别」接口,用于实现身份核验流程中的身份证识别功能。如下图所示。
Step3:创建项目
- 进入控制台-人脸实名认证页面,选择『项目管理』页面,点击『新建项目』,进行项目创建,如下图所示。
创建项目前,请确保您在应用控制台已创建应用,若您未创建应用,请参考Step2创建应用后,再进行项目创建.
Step4:创建方案
- 项目创建完成后,点击「方案管理」进入方案管理页面,在这里您可以为您的项目创建不同的方案,如下图所示。
若您的场景为微信、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