首先要定义自己小程序的appid 和 secret ,然后调用接口
$url="https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code";
完成身份验证代码如下
public function checksession($code){
if(empty($code)) return false;
$appid = "";
$secret = "";
$url="https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code";
$ret = https_get($url);
// echo $ret;
// exit;
$arr = json_decode($ret,true);
if(isset($arr['openid']) && isset($arr['session_key'])){
session('openid',$arr['openid']);
session('session_key',$arr['session_key']);
// print_r(session());
$session_id = session_id();
echo $session_id;
}else{
die($ret);
}
}
然后可以通过在某个方法中调用如下 可以完成安全验证
if(!session('?openid')|| !session('?session_key')){
die('非法用户访问');
}
也可以定义一个新的控制器,将身份验证的代码放进去,然后再index控制器中引用,定义一个初始化对象
//初始化
public function _initialize(){
if(!session('?openid')|| !session('?session_key')){
die('非法用户访问');
}
}
然后每次执行某个方法前都会先执行初始化,然后就完成了安全验证。