首先要定义自己小程序的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('非法用户访问'); } }
然后每次执行某个方法前都会先执行初始化,然后就完成了安全验证。