背景信息
对于首次使用人脸比对业务的用户,如希望快速的解决业务需求问题,可参照本实践案例,通过应用场景、产品功能、前提条件、前期准备、实践步骤等说明,实现业务快速接入。
应用场景
身份验证: 在银行、金融机构、医疗机构等场所,人脸比对可以用于验证用户的身份,确保他们具有合法的访问权限。
考勤管理: 在企业、学校等地方,人脸比对可以用于员工或学生的考勤管理,准确记录出勤情况。
产品功能
高精度1:1人脸匹配,轻松应对身份验证、门禁系统的人脸比对等业务场景。通过高维度特征抽取,计算相似度,可以根据设定阈值自主准确判断是否为同一人。
实践流程
前提条件
前期准备
构造请求
- 请求地址:{终端节点地址}+{对应接口URL},详情查看构造请求;
- 终端节点地址:https://ai-global.ctapi.ctyun.cn;
- 对应接口URL:/v1/aiop/api/2f7awxekgvls/face/compare/PERSON/person/compareFromBase64。
认证鉴权
认证鉴权详细版本,点击查看认证鉴权。
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人脸比对。