前言:接入人脸核身APP时,需涉及到后端多个接口开发,但人脸核身官网文档并无完整的代码示例,本文提供一个基于Python的服务端完整示例。
后端涉及5个接口;App端相对简单,使用从后端获取的订单号、签名等信息调用SDK即可。
服务端 | ||
---|---|---|
序号 | 内容 | 备注 |
1 | 定时获取Access Token | |
2 | 根据Access Token获取sign ticket | |
3 | 合作方后台上送身份信息:根据用户信息和sign ticket生成的签名,获取faceId(刷脸用户唯一标识)等启动SDK的参数 | |
4 | 根据Access Token获取nonce ticket,生成sign | |
5 | 提供一个web服务供APP端获取上述3、4步中生成的调用SDK的参数 | |
6 | 服务端验证结果 |
APP端 | ||
---|---|---|
序号 | 内容 | 备注 |
1 | 发起http请求获取服务端生成的签名等参数 | |
2 | 使用服务端得到的请求参数启动核身SDK |
App端示例可参考此篇文章:人脸核身APP接入-Android端实现
有效期2小时,建议每20分钟请求新的,新旧并存期1分钟。
使用场景:获取sign ticket。
有效期60分钟,建议与Access Token绑定刷新。
使用场景:合作方后台上送身份信息。
有效期120秒,一次性有效。
使用场景:启动SDK刷脸。
参考压缩包内README文件
依赖库:
Flask、requests
使用方式:
1、在config.py中填写申请得到的wbappid、secret
控制台地址:https://console.cloud.tencent.com/faceid/access
2、后台运行flush_access_token.py
定时刷新access_token和sign_ticket。
(推荐命令:nohup python -u flush_access_token.py > flush_access_token.log 2>&1 &)
3、运行web_server.py 启动2个web服务:
http://xxx/get_face_params 供APP端获取订单签名等调用SDK的参数
http://xxx/get_result 用于获取验证结果
(推荐命令:nohup python -u web_server.py > web_server.log 2>&1 &)
web服务详细说明:
运行web_server.py后,控制台或者log文件中会打印web服务地址
客户端请求协议:请求方式为POST,请求头Content-Type需为‘application/x-www-form-urlencoded’
http://xxx/get_face_params 服务入参示例:{'name': '小明', 'id_no': '4311120022232323'}
http://xxx/get_result 服务入参示例:{'order_no': 'xxxx'}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。