目录
- 1.作者介绍
- 2.华为云人证核身
- 2.1什么是人证核身
- 2.2应用场景
- 2.3限制要求
- 3.流程介绍
- 3.1调用API实现
- 3.2调用SDK实现
1.作者介绍
高凡平,男,西安工程大学电子信息学院,2023级研究生
研究方向:数码印花缺陷检测
电子邮件:2549795245@qq.com
吴思雨,女,西安工程大学电子信息学院,2023级研究生
研究方向:机器视觉与人工智能
电子邮件:2879944563@qq.com
2.华为云人证核身
2.1什么是人证核身
人证核身服务(Identity Verification Solution,简称IVS),是指通过用户的身份证信息、人脸图片,与权威数据库进行比对,进而实现身份验证。
2.2应用场景
1、金融、保险行业
银行、互联网金融、证券、保险公司等金融机构对用户身份真实性的要求很高,传统渠道主要依赖用户上门进行人工核验身份,继而完成开户、交易等行为,不仅费时费力且用户体验较差。华为云人证核身服务可有效实现在线核验,支撑远程开户、大额交易等业务,大幅减少机构人力成本,增强用户使用体验。支持多场景对业务员及投保人进行身份核验,使金融销售行为更加规范化,有效保障投资者的权益。
2、政务民生
随着智能化手段对政务治理体系和治理能力现代化变革,多地政府已落实部分窗口业务的线上自助办理。在“一网统管”、“一网通办”变革中,使用华为云人证核身服务可有效对用户身份进行核验,减少冒名顶替、违法操作的风险。
3、互联网监管
大量互联网应用、手机App需要进行用户实名认证。以社交网络和视频直播为例,近年来随着行业的快速发展,各种不健康内容层出不穷,行业规范的呼声越来越强。使用华为云人证核身服务可对贴吧、博客博主和视频主播的真实身份进行审核备案,大幅减少违规违法内容,规避风险。
4、游戏防沉迷
使用华为云人证核身服务可对游戏玩家进行真实有效的身份认证,继而对接防沉迷系统,规范青少年玩家游戏行为(如对18岁以下和未经实名认证的玩家限制游戏时间)。
5、密码保护和找回
密码保护和丢失密码找回往往需要用户上传凭证(如上传手持身份证照片)交由管理员人工审核,使用华为云人证核身服务可有效取代人工审核,减少人力成本。
2.3限制要求
1、只支持“华北-北京一”、“华北-北京四”区域。
2、只支持中国大陆身份证的识别。
3、支持港澳台居住证核验,证件信息需文本输入
4、暂无安卓和IOS系统的SDK。
3.流程介绍
3.1调用API实现
注册华为账号并开通华为云,并完成实名认证,开通服务。
登录人证核身控制台,网址: https://console.huaweicloud.com/ivs/?region=cn-north-4#/ivs/manage/overview
点击人证核身证件版(二要素)开通服务,开通服务如下所示:
3.1.1调用API配置环境
1.下载并安装Postman,建议使用7.24.0版本。
下载教程:链接: https://blog.csdn.net/m0_61843874/article/details/123324727
2.Postman新建 Collection,在Postman界面,选择“New > Collection”,设置相应的名称并单击“Create”完成创建。
3.选择创建的Collection,单击鼠标右键,选择“Add Request”,设置Request name并单击“Save”请求方式修改为"POST"。
4.请求方式修改为"POST",输入URL“https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens”。
5.在“Headers”列表中添加“KEY”为“Content-Type”,“VALUE”为“application/json”。
6.选中“Body”的配置项,选中“raw”,在空白处添加以下代码。并填写用户名、账号名、密码。
其中username为IAM用户名,domainname为账号名,********为密码。
7.获取、复制返回结果中的Token值。
3.1.2调用服务
1.在Postman中新建一个请求,请求方式为选择"POST",按要求填写URL。
人证核身证件版(二要素)API的URL为“https://ivs.cn-north-4.myhuaweicloud.com/v2.0/ivs-idcard-extention”。
选中“Headers”配置项,KEY、VALUE按下图进行填写,并复制3.1.1中获取的Token值到“X-Auth-Token”的“VALUE”中。
2.填写接口的Body信息。选中“raw”,将下方代码填充至请求体中。
3.单击右上角“Send”按钮发送请求,查看识别结果。返回"valid"、“Successful certification”,表示身份验证成功。
3.2调用SDK实现
3.2.1首先要开通人证核身证件版(二要素版),如3.1节所示。
1.AK/SK认证,下载文件credentials.csv;
登录控制台。
单击页面右上角的用户名,并选择“我的凭证”。进入“我的凭证”页面:
2.单击“访问秘钥”页签下的“新增访问密钥”。弹出“新增访问密钥”对话框:
输入“登录密码”,如果绑定了手机或者邮箱,还需要获取验证码并进行验证。验证成功后,弹出访问密钥下载对话框。
单击“确定”,并根据提示下载保存访问密钥。
如果已生成过AK/SK,找到原来已下载的AK/SK文件,文件名一般为:credentials.csv。
3.点击链接访问API Explorer 在线接口调试页面apiexplorer.developer.huaweicloud.com
并在搜索框输入人证核身证件版(二要素)功能进入调试端口,API Explorer 在线接口调试图:
4.填写请求Body参数。输入数据填写uuid、verification_name、verification_id
uuid:唯一标识此次请求的ID,用户自定义,不超过64位。例如bc884f1e20e
verification_name:被验证人的姓名
verification_id:被验证人的身份证号码
5.调式成功后如下图所示,大家就可以将自动生成的python代码复制,但是一定要记得填入自己的"AK/SK"。
3.2.2实验代码
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkivs.v2.region.ivs_region import IvsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkivs.v2 import *
if __name__ == "__main__":
ak = ""
sk = ""
credentials = BasicCredentials(ak, sk)
client = IvsClient.new_builder() \
.with_credentials(credentials) \
.with_region(IvsRegion.value_of("cn-north-4")) \
.build()
try:
request = DetectExtentionByNameAndIdRequest()
listReqDataData = [
ExtentionReqDataByNameAndId(
verification_name="",
verification_id=""
)
]
databody = IvsExtentionByNameAndIdRequestBodyData(
req_data=listReqDataData
)
metabody = Meta(
uuid=""
)
request.body = IvsExtentionByNameAndIdRequestBody(
data=databody,
meta=metabody
)
response = client.detect_extention_by_name_and_id(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
3.2.3运行结果
识别结果返回“valid”,表示认证成功。