参考腾讯云官方文档:
人脸核身 合作方后台上传身份信息_腾讯云
前提:已经获取了SIGN Ticket。获取参考文档:
PHP腾讯云人脸核身获取SIGN Ticket-CSDN博客
public function getTxFaceId($uid,$name,$idNo){$appId = '';$userId = $uid;$nonce = $this->random(32);$version = '1.0.0';$ticket = file_get_contents('/data/config/tx_face_signticket.txt');if(!$ticket){return '';}$data = [$appId,$userId,$version,$ticket,$nonce];asort($data);$str = '';foreach ($data as $val) {$str.= $val;}$sign = sha1($str);if(!$sign){return '';}$url = 'https://kyc1.qcloud.com/api/server/getfaceid';$post_data = ['appId' => $appId,'orderNo' => $uid.$nonce,'name' => $name,'idNo' => $idNo,'userId' => $uid,'version' =>'1.0.0','sign' => $sign,'nonce' => $nonce];$result = $this->curl_post($url,$post_data);$arr = json_decode($result,true);if($arr['code'] == 0){$faceId = $arr['result']['faceId'];return $faceId;}return '';
}//生成随机字符串
function random($length = 6 , $numeric = 0) {PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000);if($numeric) {$hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1));} else {$hash = '';$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz';$max = strlen($chars) - 1;for($i = 0; $i < $length; $i++) {$hash .= $chars[mt_rand(0, $max)];}}return $hash;
}//curl Post提交
function curl_post($url,$data){$data = json_encode($data);$headerArray =array("Content-type:application/json;charset='utf-8'","Accept:application/json");$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($curl);curl_close($curl);return $output;
}