博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
laravel实现第三方登录(qq登录)
阅读量:5076 次
发布时间:2019-06-12

本文共 1349 字,大约阅读时间需要 4 分钟。

首先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,里面有个q改成大写
     'SocialiteProviders\QQ\QqExtendSocialite@handle',//改成这样就对了,之前如果那个q是小写的话会报找不到类的错误。
], ];

在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互联管理中心(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);}

访问方法“qq”对应的路由:

 

 

成功获取用户资料:

 

转载于:https://www.cnblogs.com/zzdylan/p/5922477.html

你可能感兴趣的文章
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
关于源程序到可运行程序的过程
查看>>
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>
自定义tabbar(纯代码)
查看>>
小程序底部导航栏
查看>>
poj1611 简单并查集
查看>>
Ubuntu 14.04下安装CUDA8.0
查看>>
跨平台开发 -- C# 使用 C/C++ 生成的动态链接库
查看>>
C# BS消息推送 SignalR介绍(一)
查看>>
WPF星空效果
查看>>
WPF Layout 系统概述——Arrange
查看>>
PIGOSS
查看>>
软件目录结构规范
查看>>
解决 No Entity Framework provider found for the ADO.NET provider
查看>>
设置虚拟机虚拟机中fedora上网配置-bridge连接方式(图解)
查看>>
ES6内置方法find 和 filter的区别在哪
查看>>
Android实现 ScrollView + ListView无滚动条滚动
查看>>
java学习笔记之String类
查看>>