如何在微信小程序中设置安全认证

1.首先需要在新的一个控制器上设置一个进行安全验证的方法。

public function checksession($code){
	    if(empty($code)) return false;
	    $appid="wxdee91227065a7dd8";
	    $secret="30c1beb9b55063b9ed3bde35c6a95fc7";
	    $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']);
	      $session_id=session_id();
	      echo $session_id;
	    }else{
	      die($ret);
	    }
      }

2.然后需要进行前台的操作了,在微信小程序app.js中设置,进行向服务器进行请求,然后把session_id存储到本地上来。

     wx.request({
          url: 'http://ducaijia.hk01.bdysite.com/phpweb/index.php/home/demo/checksession',
          data:{
            code:res.code
          },
          success:res=>{
            console.log(res);
            wx.setStorage({
              key: 'session_id',
              data: res.header['Set-Cookie'],
            })
          }
        })

3.然后需要在各个页面上进行header的填写,进行同步获取到session_id.

 header:{
      Cookie: wx.getStorageSync('session_id')
          },

4.在控制器中创造初始化的方法,让每个页面都可以进行安全认证。

 public function _initialize(){
     //安全认证
        if(!session('?openid') || !session('?session_key')){
          die('非法用户访问ma');
        }
  }



你可能感兴趣的:(如何在微信小程序中设置安全认证)