參考連結:https://www.jianshu.com/p/1b10abe7d216
首先composer安裝依賴:
composer require socialiteproviders/qq
注冊服務提供者(同僚注釋掉原有的Socialite提供者):
'providers' => [
// 移除 'Laravel\Socialite\SocialiteServiceProvider', //如果沒有則不管
SocialiteProviders\Manager\ServiceProvider::class, // 添加
];
添加Socialite門面 (如果已有略過本操作) :
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
添加事件監聽器(App/Providers/EventServiceProvider):
protected $listen = [
'SocialiteProviders\Manager\SocialiteWasCalled' => [
//'SocialiteProviders\Qq\QqExtendSocialite@handle',
'SocialiteProviders\QQ\QqExtendSocialite@handle', //将原來的Qq改成QQ,不然會報錯
],
];
在config/services.php中添加:
'qq' => [
'client_id' => env('QQ_KEY'),
'client_secret' => env('QQ_SECRET'),
'redirect' => env('QQ_REDIRECT_URI'),
],
在.env中添加:
QQ_KEY=101331049
QQ_SECRET=1fabaf75e41336b41ab1bbd65d3b3e57
QQ_REDIRECT_URI=http://schoolshop.51gogo.club/qqlogin
QQ_KEY和QQ_SECRET需要在qq互聯上申請,QQ_REDIRECT_URI需要在qq互聯上設定。
這裡的回調位址必須要跟qq互聯管理中心置的回調位址一樣。
Route::get('/qqlogin','TestController@qqlogin');
Route::get('/qq','TestController@qq');
控制器:
public function qq(){
return Socialite::with('qq')->redirect();
}
public function qqlogin(){
$user = Socialite::driver('qq')->user();
dd($user);
}