Laravel11使用qq登录,相比之前的laravel版本,配置省略了一些,更加简单,以下是使用方法。
一、安装第三方扩展包:这里指定安装4.1的版本
composer require socialiteproviders/qq: v4.1
二、添加服务提供器Service Provider
打开bootstrap/providers.php,添加SocialiteProviders\Manager\ServiceProvider::class
<?php return [ App\Providers\AppServiceProvider::class, SocialiteProviders\Manager\ServiceProvider::class,//qq互联登录 ];
三、添加事件监听处理器
打开app/Providers/AppServiceProvider.php文件添加事件
Event::listen(function (\SocialiteProviders\Manager\SocialiteWasCalled $event) {
$event->extendSocialite('qq', \SocialiteProviders\QQ\Provider::class);
});完整代码
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Event;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
//
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
Event::listen(function (\SocialiteProviders\Manager\SocialiteWasCalled $event) {
$event->extendSocialite('qq', \SocialiteProviders\QQ\Provider::class);
});
}
}四、配置参数
打开配置文件 config/services.php 中,添加如下内容:
'qq' => [
'client_id' => env('QQ_KEY'),
'client_secret' => env('QQ_SECRET'),
'redirect' => env('QQ_REDIRECT_URI'),
],五、打开.env文件加上配置内容
QQ_KEY=APP ID QQ_SECRET=APP Key QQ_REDIRECT_URI="网站回调地址"
六、编写代码,创建LoginContoller.php
<?php
namespace App\Http\Controllers\Index;
use App\Http\Response\ResponseJson;
use App\Http\Response\ApiErrDesc;
use Illuminate\Http\Request;
use Laravel\Socialite\Facades\Socialite;
class UserController extends BaseController
{
use ResponseJson;
/*
* qq互联
* */
//访问QQ登录页面
public function qqlogin(){
session(['loginprevious' => url()->previous()]);
return Socialite::driver('qq')->redirect();
}
//qq回调函数
public function qqCallback(Request $request){
$userInfo = Socialite::driver('qq')->stateless()->user();
//打印返回的信息,有基本信息字段和详细信息数组
//dd($userInfo);
$user = $userInfo->user;
echo '性别:' . $user['gender'] . '<br>';
echo '性别:' . $user['gender_type'] . '<br>';
echo '省份:' . $user['province'] . '<br>';
echo '城市:' . $user['city'] . '<br>';
echo '年:' . $user['year'] . '<br>';
}
}说明:qq互联申请可以参考这篇文章
关于简忆
简忆诞生的故事



粤ICP备16092285号
文章评论(0)