PHP腾讯云人脸核身获取SIGN Ticket

发布于:2025-04-21 ⋅ 阅读:(79) ⋅ 点赞:(0)

参考腾讯云官方文档:人脸核身 获取 SIGN ticket_腾讯云

前提条件:已经获取了access_token。获取方法可参考:

PHP腾讯云人脸核身获取Access Token-CSDN博客

public function getSignTicket(){
        

    $access_token = file_get_contents('/data/config/tx_face_accesstoken.txt');

    if(!$access_token){
        return;
    }

    $data = [
        'appId' => '', //WBappid,https://cloud.tencent.com/document/product/1007/49634
        'access_token' => $access_token,
	    'type' => 'SIGN', 
        'version' => '1.0.0'
    ];

    $str = http_build_query($data);
    $url = 'https://kyc1.qcloud.com/api/oauth2/api_ticket?'.$str;
        
    $result = $this->cmf_curl_get($url);

    $arr = json_decode($result,true);

    if($arr['code'] == 0){
        $ticket = $arr['tickets'][0]['value'];
        //写入磁盘
        file_put_contents('/data/config/tx_face_signticket.txt',$ticket);
    }
}

function cmf_curl_get($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FAILONERROR, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    $SSL = substr($url, 0, 8) == "https://" ? true : false;
    if ($SSL) {
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名
    }
    $content = curl_exec($ch);
    curl_close($ch);
    return $content;
}