人脸核身 Taro(小程序)

// request 合法域名eid.faceid.qq.comeid-enhance.faceid.qq.com。

相关产品
人脸核身 产品页,含版本规格、价格与购买入口。

一、申请商户 ID 及获取 EidToken

详情请参见 E 证通小程序接入。

二、前置条件

·添加服务器域名白名单 。

·小程序前端接口请求有域名白名单限制,未添加白名单的域名只能在调试模式下运行。你需要在小程序上线前将以下域名添加至服务器域名白名单。

三、Taro 接入

完整示例请下载 Demo 示例。

四、步骤一:注册并创建 Taro 开发环境

开发接入具体请参见 Taro 使用原生模块。

五、步骤二:下载并配置 mp_ecard_sdk 源码

1. 请前往 控制台商户 ID 列表页 下载 E 证通小程序支持 Taro 的版本(1.0.10及以上)。(后续如需更新,请关注控制台新版本发布)。

2. 配置 SDK 源码。

·拷贝 mp_ecard_sdk 到 src 目录下。

·app.config.js / app.config.ts 配置页面路径。

pages: [ … "mp_ecard_sdk/index/index" ],

·修改 config/index.js 的文件配置,排除 mp_ecard_sdk 代码编译。

export default defineConfig(async (merge, { command, mode }) => { const baseConfig = { … copy: { … patterns: [ { from:'src/mp_ecard_sdk/',to:'dist/mp_ecard_sdk/' }, ], } }, …})

3. 初始化 SDK

·初始化及调用请参见 E 证通小程序集成,参数无变化。

·在 app.js 文件中引入初始化 SDK 的方法 initEid。 在 App.js 的 onLaunch() 中加入相应代码,在 App.json 文件里添加 E 证通 SDK 页面。 在 onLaunch 方法中调用 initEid。

// app.jsimport { initEid } from './mp_ecard_sdk/main';const App = { onLaunch: function () { // 初始化慧眼实名核身组件 initEid(); }}export default App

4. 调用 SDK

·在需要进行核身的地方引入调用 SDK 的方法 startEid。

注意:startEid 调用需要在 initEid 初始化之后。

const { startEid } = require('./mp_ecard_sdk/main');goSDK(token) { startEid({ data: { token, enableEmbedded: true, allowFullScreen: false }, verifyDoneCallback(res) { const { token, verifyDone } = res; console.log('收到核身完成的res:', res); console.log('核身的token是:', token); console.log('是否完成核身:', verifyDone); }, }); },

·startEid() 参数说明:

·options.data.token:接入方小程序从接入方服务端获取 EidToken。

·options.data.needJumpPage :是否需要中转页,默认为 false。

·options.data.enableEmbedded :是否支持半屏打开,默认为 false。

·options.data.allowFullScreen :半屏打开后是否支持全屏,默认为 true。

·options.verifyDoneCallback:Function(res) required 核身完成的回调。res 包含验证成功的 token,是否完成的布尔值标志 verifyDone。请根据 res 返回的结果进行业务处理判断。

六、步骤三:半屏接入指引(可选)

·如你需要实现小程序半屏模式,可参考3.4步骤进行配置。

·如不需要实现半屏模式,则可直接跳到 获取 E 证通的核验结果信息。

小程序的半屏模式可以省去小程序跳转的弹窗步骤,实现下面的半屏页面展示,流程体验可以 联系我们 获取:

七、接入准备

申请半屏调用 eID 数字身份小程序

1. 打开小程序微信管理平台后台,选择设置,第三方设置,打开半屏小程序管理,单击添加。

2. 输入 eID 数字身份的 AppID:wx0e2cb0b052a91c92 。

注意:每个小程序最多可添加10个半屏打开的小程序。

八、SDK 接入

1. 请先完成 步骤一 及 步骤二 接入,并下载较新版本的 SDK(uni-app SDK v1.0.5 及以上版本支持半屏接入)。

2. app.json 中添加如下代码,其中 AppID 为eID 数字身份的 AppID。

{ "embeddedAppIdList": ["AppID"]}

3. SDK 接入时传入允许半屏打开参数。

import { startEid } from './mp_ecard_sdk/main'; // 示例方法 goSDK(token) { startEid({ data: { token, enableEmbedded: true, allowFullScreen: false }, verifyDoneCallback(res) { const { token, verifyDone } = res; console.log('收到核身完成的res:', res); console.log('核身的token是:', token); console.log('是否完成核身:', verifyDone); }, }); },

startEid() 参数说明:

·半屏接入不支持时会自动降级为全屏打开。

·因半屏接入是微信新上的能力,少部分机型还存在兼容性问题,请谨慎开启。

·options.data.token:String required 接入方小程序从接入方服务端获取 EidToken。

·options.data.needJumpPage :是否需要中转页,默认为 false(SDK v1.0.7 及以上支持)

·options.data.enableEmbedded :是否支持半屏打开,默认为 false(uni-app 版 SDK1.0.5 及以上支持)

·options.data.allowFullScreen :半屏打开后是否支持全屏,默认为 true(uni-app 版 SDK1.0.5 以上支持)

·options.verifyDoneCallback:Function(res) required 核身完成的回调。res 包含验证成功的 token,是否完成的布尔值标志 verifyDone。请根据 res 返回的结果进行业务处理判断。

九、注意事项

1. 每个小程序最多可添加10个半屏打开的小程序。

2. 半屏接入需向E证通eID数字身份发送半屏申请,审核通过后才会生效。

3. 半屏接入不支持时会自动降级为全屏打开。

4. 因半屏接入是微信新上的能力,少部分机型还存在 兼容性问题,请确保进行过完善的测试后再上线。

十、获取 E 证通核验结果信息

用户完成人脸核身后,会以回调形式返回 EidToken 以及其他信息,接入方小程序将 EidToken 传给接入方的服务端,接入方服务端即可凭借 EidToken 参数调用获取小程序核身结果信息 GetEidResult 接口去获取本次核身的详细信息,最后将核身结果返回给接入方程序。

注意:EidToken 作为一次核身流程的标识,有效时间为600秒;完成核身后,可用该标识获取3天内验证结果信息。

十一、卸载 SDK

删除 mp_ecard_sdk 文件夹。

十二、完整示例参考

·Vue2 Demo 示例

·Vue3 Demo示例

十三、注意事项

·从 eID 数字身份小程序返回接入方小程序。

·当接入方小程序在初始化 E 证通 SDK 的时候,E 证通 SDK 会通过 wx.onAppShow 注册一个监听从 eID 数字身份小程序跳转回接入方小程序的事件,从而根据情况触发接入方传入的核身完成的回调函数,由于微信的机制,用户在 eID 数字身份小程序跳转回接入方小程序的时候,同时也会触发接入方小程序 app.js 中的 onShow 方法。为了避免冲突,如果接入方小程序在 onShow 中有执行逻辑的话,需要排除掉从 eID 数字身份小程序跳转回接入方小程序这个场景。

·可通过以下方法实现:

// app.vueonShow(options) { const { referrerInfo, scene } = options; /* 判断是否从eID数字身份小程序返回 */ const { appId } = referrerInfo; if (scene === 1038 && appId === 'wx0e2cb0b052a91c92') { return; } else { // 执⾏接入方小程序原本的逻辑 }},

·基于对个人隐私信息的保护,按照最小必要返回身份信息的要求,E 证通服务不再返回姓名和身份证号的明文信息。如因业务需要返回,请参见 E 证通获取实名信息指引。

赞 (0)
上一篇 4天前
下一篇 4天前