语音交友软件源码是如何通过腾讯云实现人脸审核的

发布来源:云豹科技
发布人:云豹科技
2022-06-08 10:05:52

随着时代的发展,年轻人的交友观念逐渐转变,比起看脸交友来说,寻找更加契合的灵魂成为他们的新的目标,语音交友软件源码满足了这一点需求。为了更好的保证聊天室内容安全,就需要用户进行实名认证,实名认证少不了人脸审核的步骤,所以语音交友软件源码接入了腾讯云的人脸核身功能。

腾讯云的人脸核身功能,通过活体检测技术确定视频中的是真人,在将视频中的人脸信息和该用户上传的证件信息进行对比,帮助语音交友软件源码确定用户信息的真实性。那么语音交友软件源码是如何通过腾讯云进行人脸审核的呢?我们以Thinkphp为例,做以下代码介绍:


/*独立h5*/
public function ceshi(){
$rs=array("code"=>0,"msg"=>"申请成功","info"=>array());
$app_id='xxx';
$secret='xxxx';
/*合作方后台上送身份信息*/
//获取腾讯云Access_token
$access_token_json=file_get_contents("https://idasc.webank.com/api/oauth2/access_token?app_id={$app_id}&secret={$secret}&grant_type=client_credential&version=1.0.0");
$access_token_array=json_decode($access_token_json, true);
if($access_token_array['code']!=0){
$rs['code']=$access_token_array['code'];
$rs['msg']=$access_token_array['msg'];
return $rs;
}
$access_token=$access_token_array['access_token']; 
 
//获取腾讯云tikcet
$ticket_json=file_get_contents("https://idasc.webank.com/api/oauth2/api_ticket?app_id={$app_id}&access_token={$access_token}&type=SIGN&version=1.0.0");
$ticket_array=json_decode($ticket_json, true);
if($ticket_array['code']!=0){
$rs['code']=$ticket_array['code'];
$rs['msg']=$ticket_array['msg'];
return $rs;
}
$ticket=$ticket_array['tickets'][0]['value']; 
$uid='123';
$orderNo='orderNo'.time();
$name='测试';  //真实姓名
$idNo='400000000000000';  //身份账号
$userId='userID'.$uid;
$nonce=$this->getRandom(32);
//生成签名
$arr_test=array($app_id,$orderNo,$name,$idNo,$userId,'1.0.0',$ticket);
$arr_test = array_values($arr_test);
asort($arr_test);
$arr_test =implode('',$arr_test);
$sign = sha1($arr_test);
//获取h5faceId
$info=[
'webankAppId'=>$app_id,
'orderNo'=>$orderNo,
'name'=>$name,
'idNo'=>$idNo,
'userId'=>$userId,
'sourcePhotoType'=>'1',
'version'=>'1.0.0',
'sign'=>$sign,
];
$url='https://idasc.webank.com/api/server/h5/geth5faceid';
$headers = array(
"Content-Type: application/json; charset=utf-8",
); 
$url_post=$this->Post($url,json_encode($info),$headers);
$url_post_array=json_decode($url_post, true);
if($url_post_array['code']!=0){
$rs['code']=$url_post_array['code'];
$rs['msg']=$url_post_array['msg'];
return $rs;
}
$h5faceId=$url_post_array['result']['h5faceId'];
/*启动H5人脸核身*/
//获取腾讯云NONCE_tikcet
$NONCE_ticket_json=file_get_contents("https://idasc.webank.com/api/oauth2/api_ticket?app_id={$app_id}&access_token={$access_token}&type=NONCE&version=1.0.0&user_id={$userId}");
$NONCE_ticket_array=json_decode($NONCE_ticket_json, true);
if($NONCE_ticket_array['code']!=0){
$rs['code']=$NONCE_ticket_array['code'];
$rs['msg']=$NONCE_ticket_array['msg'];
return $rs;
}
$NONCE_ticket=$NONCE_ticket_array['tickets'][0]['value']; 
//生成签名
$arr_test=array($app_id,$orderNo,$userId,'1.0.0',$h5faceId,$NONCE_ticket,$nonce);
$arr_test = array_values($arr_test);
asort($arr_test);
$arr_test =implode('',$arr_test);
$sign = sha1($arr_test);
//回调地址
$configpub=getConfigPub();
$RedirectUrl=$configpub['site'].'/appapi/auth/ceshi2';
$info=[
'webankAppId'=>$app_id,
'version'=>'1.0.0',
'nonce'=>$nonce,
'orderNo'=>$orderNo,
'h5faceId'=>$h5faceId,
'url'=>urlencode($RedirectUrl),
'userId'=>$userId,
'sign'=>$sign,
'from'=>'browser',  
];
$url_h5='https://ida.webank.com/api/web/login?';
foreach($info as $key=>$vo){
if($key=='webankAppId'){
$url_h5.=$key.'='.$vo;
}else{
$url_h5.='&'.$key.'='.$vo;
}
}
header('Location: '.$url_h5);
}
//回调地址
public function ceshi2(){
$data = $this->request->param();
file_put_contents(CMF_ROOT.'data/log/paylog/tp_'.date('Y-m-d').'.txt',date('Y-m-d H:i:s').'  msg:'.json_encode($data)."\r\n",FILE_APPEND);
 
}
function Post($url,$curlPost,$header=''){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_POST, true);
//类型为json
curl_setopt($curl, CURLOPT_POSTFIELDS, ($curlPost));
//设置header头
if(!empty($header)){
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
}
$return_str = curl_exec($curl);
curl_close($curl);
return $return_str;
}
function getRandom($param){
$str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$key = "";
for($i=0;$i<$param;$i++)
 {
 $key .= $str{mt_rand(0,32)};    //生成php随机数
 }
 return $key;
 }


如今语音交友软件源码用户不断增加,平台必须做好实名认证的工作,才能更好的保障平台和用户的权益。以上有关于人脸审核实现的代码,来源于云豹语音交友软件源码,如果需要使用的话,要根据实际情况进行一定的调整。

声明:以上内容为云豹科技原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任
立即查看