百度AI-人脸识别对接(在线活体检测和身份验证)
百度AI-人脸识别对接(在线活体检测和身份验证)
技术分享
2020-04-22 09:23:07
651次阅读
参考地址:
身份验证:ai.baidu.com/ai-doc/FACE…
在线活体检测:ai.baidu.com/ai-doc/FACE…
demo:
<?php namespace app\common\logic; use think\Cache; class Baidu extends Base { private $secret = '';//秘钥 private $appkey = ''; private $appid = ''; private $go_url = '';//访问地址 /** * 刷新token * @return \think\response\Json */ protected function refreshToken() { $param = [ 'grant_type' => 'client_credentials', 'client_id' => $this->appkey, 'client_secret' => $this->secret, ]; $url = $this->go_url . '/oauth/2.0/token?' . http_build_query($param); $result = httpRequest($url, 1); return $result; } /** * 获取token * @return bool|mixed */ protected function getToken() { $token = Cache::get('baidu_token');//读取缓存token 之前获取的 if ($token) { return $token; } else { $res = $this->refreshToken(); if (isset($res['access_token'])) { Cache::set('baidu_token', $res['access_token'], 864000);//新获取的token 再次保存 return $res['access_token']; } return false; } } /** * 百度 实名认证 * @param $image 身份证图片 * @param $id_card 身份证号 * @param $name 姓名 * @return bool|mixed */ public function realname($image, $id_card, $name) { $token = $this->getToken(); $param = [ 'image' => $image, 'image_type' => 'URL', 'id_card_number' => $id_card, 'name' => $name, ]; $url = $this->go_url . '/rest/2.0/face/v3/person/verify?access_token=' . $token; $result = $this->request_post($url, json_encode($param)); return $result; } /** * 百度 活体检测 * @param $image 检测的照片 * @return bool|mixed */ public function imgcheck($image) { $token = $this->getToken(); $param = [[ 'image' => $image, 'image_type' => 'URL', ]]; $url = $this->go_url . '/rest/2.0/face/v3/faceverify?access_token=' . $token; $result = $this->request_post($url, json_encode($param)); return $result; } function jcHttpDataPost($url, $data, $json_transfer = 1) { if ($json_transfer == 1) { $data = json_encode($data, JSON_UNESCAPED_UNICODE); } else if ($json_transfer == 2) { $data = urldecode(json_encode($data, JSON_UNESCAPED_UNICODE)); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $status = curl_exec($ch); curl_close($ch); $res = json_decode($status, true); return $res; } function request_post($url = '', $param = '') { if (empty($url) || empty($param)) { return false; } $postUrl = $url; $curlPost = $param; // 初始化curl $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $postUrl); curl_setopt($curl, CURLOPT_HEADER, 0); // 要求结果为字符串且输出到屏幕上 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // post提交方式 curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 运行curl $data = curl_exec($curl); curl_close($curl); $res = json_decode($data, true); return $res; } }
相关推荐
近期发布
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10