背景信息
对于首次使用身份证识别业务的用户,如希望快速的解决业务需求问题,可参照本实践案例,通过应用场景、产品功能、前提条件、前期准备、实践步骤等说明,实现业务快速接入。
应用场景
实名认证: 在互联网服务、移动应用中,要求用户进行实名认证以确保安全性。身份证识别可以帮助用户快速识别证件信息,减少手动输入错误。
酒店入住: 酒店需要在客人登记入住时验证身份信息,身份证识别可以提高办理入住手续的效率。
产品功能
身份证信息智能解析API,可高效准确识别正反面身份证图片的内容,并结构化输出姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限共8个字段,同时支持返回头像位置及base64编码,帮助您快速获取身份证信息。
实践流程
前提条件
前期准备
构造请求
- 请求地址:{终端节点地址}+{对应接口URL},详情查看构造请求;
- 终端节点地址:https://ai-global.ctapi.ctyun.cn;
- 对应接口URL:/v1/aiop/api/2f3os7qq79xc/IdentityCard/ocr/v1/idcard.json。
认证鉴权
认证鉴权详细版本,点击查看认证鉴权。
1.信息的获取
- 登录云网门户,在“控制台”->“个人中心”->“安全设置”->“用户AccessKey”点击“查看”获取。
2.基本签名流程
- 待签字符串:使用规范请求和其他信息创建待签字符串;
- 计算密钥:使用header、ctyun-eop-sk、ctyun-eop-ak来创建hmac算法的密钥;
- 计算签名:使用第三步的密钥和待签字符串在通过hmacsha256来计算签名;
- 签名应用:将生成的签名信息作为请求消息头添加到HTTP请求中。
3.创建待签名字符串
- 待签名字符串=需要进行签名的header排序后的组合列表+ "\n" + 排序的query + "\n" + toHex(sha256(原封的body));
- 假设你需要将ctyun-eop-request-id、eop-date、host都要签名,则待签名的header构造出来是:ctyun-eop-request-id:123456789\neop-date:20210531T100101Z\nhost:1.1.1.1:9080\n;
- 如果你加入一个ccad的header,同时这个header也需要进行签名,则待签名的header组合:ccad:123\nctyun-eop-request-id:123456789\neop-date:20210531T100101Z\nhost:1.1.1.1:9080\n。
4.构造动态密钥
- 发起请求时,需要构造一个eop-date的时间,这个时间的格式是yyyymmddTHHMMSSZ,言简意赅一些,就是年月日T时分秒Z;
- 先是用申请的ctyun-eop-sk作为密钥,eop-date作为数据,算出ktime;
- 用ktime作为密钥,申请的ctyun-eop-ak作为数据,算出kAk;
- 用kAk作为密钥,eop-date的年月日值作为数据,算出kdate。
5.签名应用
- 由“构造动态密钥”和“创建待签名字符串”分别得出来的待签名字符串string_sigture、kdate生成出Signature;
- 得到Eop-Authorization,然后将数据整合成header放在http_client内,发出即可。
实践步骤
实践步骤详情查看API身份证识别。