laravel框架实现QQ第三方登陆

环境: 
laravel:5.7
php: 7.2.1

1. 利用composer安装qq登录的依赖(在命令行输入框)

composer require socialiteproviders/qq

2. 将第三方的登录服务者注册进容器内(config/app.php)

'providers' => [
    // 移除 'Laravel\Socialite\SocialiteServiceProvider',
    SocialiteProviders\Manager\ServiceProvider::class, // 添加
];

3. 添加门脸类(config/app.php)

'Socialite' => Laravel\Socialite\Facades\Socialite::class,

 4. 添加事件监听器(App/Providers/EventServiceProvider)

     protected $listen = [

            'SocialiteProviders\Manager\SocialiteWasCalled' => [

            'SocialiteProviders\QQ\QqExtendSocialite@handle',

        ],
];



5. 在config/service.php添加QQ接口信息

'qq' => [
    'client_id' => env('QQ_KEY'),//在QQ互联中通过审核的应用查看  APP ID
    'client_secret' => env('QQ_SECRET'),//在QQ互联中通过审核的应用查看APP Key
    'redirect' => env('QQ_REDIRECT_URI'), //创建应用时设置的回调地址
], 

6. 在.env里面QQ接口的信息

QQ_KEY=xxxxxx   //在QQ互联中通过审核的应用查看  APP ID
QQ_SECRET=xxxxxx   //在QQ互联中通过审核的应用查看  APP Key
QQ_REDIRECT_URI=xxxxxx   //创建应用时设置的回调地址

 QQ_KEYQQ_SECRET需要在qq互联上申请,QQ_REDIRECT_URI需要在qq互联上设置。 
这里的回调地址必须要跟qq互联管理中心(https://connect.qq.com)设置的回调地址一样。

路由:

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);
}

 

猜你喜欢

转载自blog.csdn.net/qq_43572631/article/details/85046963