Laravel11接入QQ互联,使用qq互联登录

2024-06-30   阅读:207   类型:后端   分类:Laravel    标签: PHP Laravel

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互联申请可以参考这篇文章

tp5结合QQ互联,实现网站第三方qq登录

【腾讯云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://tpxhm.com/adetail/1087.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸一
简忆博客壁纸二
简忆博客壁纸三
简忆博客壁纸四
简忆博客壁纸五
简忆博客壁纸六
简忆博客壁纸七
简忆博客壁纸八
头像

简忆博客
勤于学习,乐于分享

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×