Laravel实现QQ登录
Laravel实现QQ登录
环境:
laravel:5.5.40
php: 7.2.2
前置条件,在qq互联有创建应用的权限。https://blog.csdn.net/qq_25615395/article/details/80251094
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',//这里的SocialiteProviders\Qq\QqExtendSocialite@handle,里面有个q改成大写'SocialiteProviders\QQ\QqExtendSocialite@handle',//改成这样就对了,之前如果那个q是小写的话会报找不到类的错误。], ];
5. 在config/service.php
添加QQ接口信息
'qq' => ['client_id' => env('QQ_KEY'),'client_secret' => env('QQ_SECRET'),'redirect' => env('QQ_REDIRECT_URI'),
],
6. 在.env
里面QQ接口的信息
QQ_KEY=xxxxxx
QQ_SECRET=xxxxxx
QQ_REDIRECT_URI=xxxxxx
QQ_KEY
和QQ_SECRET
需要在qq互联
上申请,QQ_REDIRECT_URI
需要在qq互联
上设置。
这里的回调地址必须要跟qq互联管理中心(https://connect.qq.com)设置的回调地址一样。
7. 添加路由routes/web.php
// 登录界面的展示
Route::get('auth/{service}', 'Auth\SocialiteLoginController@redirectToProvider')->name('socialite_login_form');
// 登录回调的处理
Route::get('auth/{service}/callback', 'Auth\SocialiteLoginController@handleProviderCallback')->name('socialite_login');
8. 前台登录界面的使用
<div class="form-group"><div class="col-md-8 col-md-offset-4"><button type="submit" class="btn btn-primary">登录</button><a class="btn btn-link" href="{{ route('password.request') }}">忘记密码?</a><a class="btn btn-link" href="{{route('socialite_login_form','qq')}}"><i class="fa fa-qq"></i> qq登录</a></div>
</div>
9. 添加控制器App\Http\Controllers\Auth\SocialiteLoginController.php
<?phpnamespace App\Http\Controllers\Auth;use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Laravel\Socialite\Facades\Socialite;/*** 第三方登录控制器** Class SocialiteLoginController* @package App\Http\Controllers\Auth*/
class SocialiteLoginController extends Controller
{/*** 第三方登录用户信息的展示** @param $service* @return mixed*/public function redirectToProvider($service){return Socialite::driver($service)->redirect();}/*** 处理第三方登录的回调** @param $service*/public function handleProviderCallback($service){$user = Socialite::driver($service)->user();dd($user);}
}
登陆后的具体逻辑想看下一篇文章
https://blog.csdn.net/qq_25615395/article/details/80256098
Laravel实现QQ登录相关推荐
- Laravel第三方登录开发之实现QQ登录
在我们的项目开发中,第三方登录可以很好的为用户提供便捷,比如微信.QQ.微博登录等等. Laravel,作为一个优雅的PHP框架,已经集成了诸多第三方登录插件. 本文,将详细论述如何在Laravel框 ...
- qq登录 适用于 laravel
最近做一个项目,要集成qq登录和微信登录 微信登录以前做过,听说laravel的插件很方便,于是折腾了一下,但微信的第三方登录是公众平台的,这里不适用,qq的报一个什么driver['qq'] not ...
- laravel8 QQ登录
安装 : 首先框架安装: composer require socialiteproviders/qq 配置: 打开config/app.php文件,注册服务提供者,如果用了laravel自带的社会化 ...
- php mysql登录实现原理_PHP实现QQ登录的开原理和实现过程
第三方登录,就是使用大家比较熟悉的比如QQ.微信.微博等第三方软件登录自己的网站,这可以免去注册账号.快速留住用户的目的,免去了相对复杂的注册流程.下边就给大家讲一下怎么使用PHP开发QQ登录的功能. ...
- android qq第三方登录,Android调用第三方QQ登录代码分享
本文为大家分享了调用QQ登录的相关代码,希望对大家有帮助,减少项目开发的时间,具体内容如下 1.去QQ开放平台注册帐号(http://open.qq.com/),为应用申请QQ的APP_ID , 并下 ...
- PHP 接入(第三方登录)QQ 登录 OAuth2.0 过程中遇到的坑
前言 绝大多数网站都集成了第三方登录,降低了注册门槛,增强了用户体验.最近看了看 QQ 互联上 QQ 登录的接口文档.接入 QQ 登录的一般流程是这样的:先申请开发者 -> 然后创建应用(拿到一 ...
- 美多商城之用户登录(QQ登录)
二.QQ登录 2.1 QQ登录开发文档 QQ登录:即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目. 1. QQ互联开发者申请步骤 若想实现QQ登录,需 ...
- java集成网站微信,微博,qq登录
微信 WechatConfig.java package com.meeno.chemical.common.sdk.wechat.config;import org.springframework. ...
- Android实现仿QQ登录界面背景动画效果
登录QQ的时候,我们会看到在登录界面的背景不是静态的,而是一段动画效果,刚开始觉得蛮好奇的,现在我们也来实现一下这种效果,实现起来还是挺简单的. 实现步骤: 1.自定义CustomVideoView类 ...
最新文章
- 编译hadoop2.2.0源码时报错
- 不清楚 spring 的这几个知识点,面试直接挂了!
- 云炬Android开发笔记 16附加功能开发(二维码,一键分享,分页,搜索)
- 关于eclipse的实用技巧
- Android开发之The application could not be installed: INSTALL_FAILED_VERSION_DOWNGRADE报错
- [20150629]12c物化视图刷新Out of place
- 【转】盛大创新院许式伟:影响我一生的五个重要选择
- oracle 31693,ORACLE expdp备份与ORA-31693、ORA-02354、ORA-01555
- 关于复旦大学英语水平测试和计算机应用能力水平测试成绩记载事宜的说明,复旦大学水平测试(FCT、FET)近期通知概览 | 一周复旦热问...
- vs2015调试时不显示vector内容的解决方法
- 英特尔大手笔花钱寻觅未来 但新领域变数太多难以成为支柱
- python numpy diff_Python numpy.uint16方法代码示例
- servletconfigservletcontext
- 开关电源电路图及原理12v分析-详细版
- 把人工智能体验做到极致,微软深挖人工情感的商机
- php uchome,【UCHome二次开发】模板解析
- 2018宝鸡市高三数学第一次质量检测
- Ruby + Passenger 5 分钟 入门
- bom成本分析模型_拆解苹果HomePod发现BoM成本高达248.4美元
- 实时风控引擎项目部署
热门文章
- CoreAnimation图层的树状结构和寄宿图
- 如何用代码获取Iphone 系统版本型号
- 人工智能,机器学习和深度学习关系简介
- git提交代码时分支问题报Your branch is up-to-date with ‘origin/master‘
- linux驱动没活干_Linux 桌面版普及不了的一个重大原因是很多厂商不提供驱动
- MicroStrategy 2019 新功能發佈
- 英语四级作文计算机,2021年6月英语四级写作高分范文60篇:计算机翻译
- 论文阅读 A simple yet effective baseline for 3d human pose estimation
- 微软687亿美金收购动视暴雪,元宇宙的七龙珠微软还差几颗?
- C# RTSP摄像头监控分屏