4 微信授权

1. 给当前域名设置授权
在网页服务->网页帐号->网页授权获取用户基本信息


4 微信授权_第1张图片

#routes.php文件添加
Route::get('/login' , 'UserController@login');
Route::get('/center' , 'UserController@center');
Route::get('/logout' , 'UserController@logout');//没什么实质作用,只是为了测试

2.利用artisan生成UserController
php artisan make:controller UserController

//代码如下:
 true,
            'app_id' => 'wx98a867f4654d1aa9',
            'secret' => '9d89db74740a83d1f15e552e5bce3f74',
            'token'  => 'erwpsjeinnv3jk',
            // 'aes_key' => null, // 可选
            'log' => [
                'level' => 'debug',
                'file'  => 'd:/phpstudy1/www/weixin/public/wechat.log', // XXX: 绝对路径!!!!
            ],
            'oauth' => [
                'scopes'   => ['snsapi_userinfo'],
                'callback' => 'login',//不存在session重定向的页面
            ],
            //...
        ];
        //创建应用
        $this->app = new Application($options);
    }
    public function login(){
        $oauth = $this->app->oauth;
        // 获取 OAuth 授权结果用户信息
        $user = $oauth->user();
        session()->put('user',$user->toArray());//将用户授权信息付给user存入session
        return redirect('center');//跳转到center页面
    }
    public function center(Request $req){
        if(!$req->session()->has('user')){//如果没有session,跳转到login页面进行授权
            $oauth = $this->app->oauth;
            return $oauth->redirect();
        }
        return 'hello ,user';
    }
    public function logout(){
        session()->forget('user');//删除user
    }
}

如果报了redirect_url错误,查看错误http://www.35cehua.com/seo/1810.html
3. 验证:

  • 在微信公众号输入6ebc982a.ittun.com/center,点击连接会读条两次出现hello ,user。(走了login重定向)
  • 再退出来,再点击链接读条一次显示一样内容(存在session未重定向)
  • 输入6ebc982a.ittun.com/logout,点击(清空session('user')),退出来再点击6ebc982a.ittun.com/center,又是读条两次
  • 成功

你可能感兴趣的:(4 微信授权)