1. 給當(dāng)前域名設(shè)置授權(quán)
在網(wǎng)頁服務(wù)->網(wǎng)頁帳號->網(wǎng)頁授權(quán)獲取用戶基本信息
#routes.php文件添加
Route::get('/login' , 'UserController@login');
Route::get('/center' , 'UserController@center');
Route::get('/logout' , 'UserController@logout');//沒什么實(shí)質(zhì)作用,只是為了測試
2.利用artisan生成UserController
php artisan make:controller UserController
//代碼如下:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use EasyWeChat\Foundation\Application;
class UserController extends Controller
{
protected $app = null;
public function __construct(){
$options = [
'debug' => true,
'app_id' => 'wx98a867f4654d1aa9',
'secret' => '9d89db74740a83d1f15e552e5bce3f74',
'token' => 'erwpsjeinnv3jk',
// 'aes_key' => null, // 可選
'log' => [
'level' => 'debug',
'file' => 'd:/phpstudy1/www/weixin/public/wechat.log', // XXX: 絕對路徑L蕖!:硗!
],
'oauth' => [
'scopes' => ['snsapi_userinfo'],
'callback' => 'login',//不存在session重定向的頁面
],
//...
];
//創(chuàng)建應(yīng)用
$this->app = new Application($options);
}
public function login(){
$oauth = $this->app->oauth;
// 獲取 OAuth 授權(quán)結(jié)果用戶信息
$user = $oauth->user();
session()->put('user',$user->toArray());//將用戶授權(quán)信息付給user存入session
return redirect('center');//跳轉(zhuǎn)到center頁面
}
public function center(Request $req){
if(!$req->session()->has('user')){//如果沒有session顿天,跳轉(zhuǎn)到login頁面進(jìn)行授權(quán)
$oauth = $this->app->oauth;
return $oauth->redirect();
}
return 'hello ,user';
}
public function logout(){
session()->forget('user');//刪除user
}
}
如果報(bào)了redirect_url錯誤堂氯,查看錯誤http://www.35cehua.com/seo/1810.html
3. 驗(yàn)證:
- 在微信公眾號輸入
6ebc982a.ittun.com/center
,點(diǎn)擊連接會讀條兩次出現(xiàn)hello ,user牌废。(走了login重定向) - 再退出來咽白,再點(diǎn)擊鏈接讀條一次顯示一樣內(nèi)容(存在session未重定向)
- 輸入
6ebc982a.ittun.com/logout
,點(diǎn)擊(清空session('user')),退出來再點(diǎn)擊6ebc982a.ittun.com/center畔规,又是讀條兩次 - 成功