TP5的QQ授权登录案例
本文实例讲述了thinkPHP5项目中实现QQ第三方登录功能。分享给大家供大家参考,具体如下:
最近用thinkPHP 5框架做了一个项目,在开发过程中需要用到第三方登录,腾讯官方给的案例是几个文件相互包含实现的,放到tp5里面很悲催的发现在控制器中不能通过include或者require完成预期功能,想要用腾讯官方封的类就必须对其进行修改,修改如下:
1. 找到官方SDK里面的核心文件
框架外使用的时候是include 'qqConnectAPI.php'
,打开这个文件可以看到它是包含了另外几个文件的,comm文件夹下的几个文件无非就是定义一些常量,记录一下你的APP KEY这些信息,都无关紧要,只要把class文件夹下的几个类文件放到tp5里面就好了,而且仔细看一下代码会发现其实只要拿到class文件夹的5个类就完全可以实现功能了。
2. 放到tp框架里
tp5推荐将第三方的东西,同时又不是composer安装的统一放到extend目录下,因为可能以后还要做其他扩展,这里将qq登录相关的单独建一个qq_connect文件夹,
可以看到里面只有五个类,另外注意,按照psr4规范,类名要跟文件名一致,所以要把文件名改一下,同时加上命名空间extend\qqlogin,tp5所有的类都要有命名空间。例如:
3. 控制器调用
改造完成,可以在控制器里面使用了,附上代码入下:
public function qqLogin(){
$oauth = new \qq_connect\Oauth();
$oauth->qq_login();
}
public function qqCallback(){
$oauth = new \qq_connect\Oauth();
$accesstoken = $oauth->qq_callback();
//获取open_id
$openid = $oauth->get_openid();
//设置有效时长(7天)
cookie('accesstoken', $accesstoken, 24*60*60*7);
cookie('openid', $openid, 24*60*60*7);
//根据accesstoken和open_id获取用户的基本信息
$qc = new \qq_connect\QC($accesstoken,$openid);
$userinfo = $qc->get_user_info();
return $userinfo;
}
TP5的QQ授权登录案例相关推荐
- TP5 实现QQ互联登录功能
TP5 实现QQ互联登录功能 准备: 开通QQ登录需要QQ互联已审核通过的[开发账号](https://connect.qq.com),创建应用. 创建应用 创建好的应用大概长这样... 点击 查看 ...
- php中qq授权登录,ThinkPHP利用QQ互联实现网站第三方登录(QQ登录)
接入QQ互联平台后,我们就可以让用户通过QQ帐号登录来登陆我们的网站,这样减少了注册的繁琐,可以更快 .更便捷的为了我带来更多的用户,下面我们一一起来看下如何通过QQ互联来实现第三方登录. ####申 ...
- android 9 qq登录,【报Bug】安卓离线打包targetSdkVersion设置28时,在安卓9.0手机上QQ授权登录闪退...
详细问题描述 [内容] 安卓离线打包,targetSdkVersion设置为28,在安卓9.0手机上运行,下面这段QQ授权登录代码会导致应用闪退或应用重启.低于9.0系统的手机不会出现这个问题.如果t ...
- qq授权登录【网站应用】-java版本
第一步:先去qq互联进行创建网站应用:QQ互联 如下图: 第二步:引入qq的jar包,这里采用maven方式引用 <!--QQ坐标--><dependency><grou ...
- qq授权登录实现步骤
第一步,下载qq授权登录的sdk 第二步:在清单文件中添加腾讯官方的activity ,具体代码在下方 Activity实现: public class MainActivity extends Ac ...
- WEB接入第三QQ授权登录
/** * 项目: b2b-pc * 文件: QQAuthority.java * 包名: com.b2b.pc.auth * 日期: 2017年11月24日下午8:39:03 * Copy ...
- Java实现QQ授权登录网站
现在的很多网站 为了让用户可以快速登录 使用第三方QQ.微信.微博之类的授权登录 QQ互联的官网地址 1:先去QQ互联申请成为开发者 当审核通过之后 就可以创建一个应用 然后开发实际的登录效 ...
- 使用友盟快速集成QQ分享与QQ授权登录
友盟官方文档 我采用的是手动集成友盟的官方文档.下载SDK进行集成. 解压缩,选择自己需要的文件进行加入到Android Studio中. 由于这里我只需要QQ,那就把QQ文件夹中的所有文件拷贝一份到 ...
- php中qq授权登录,php实现qq授权登录
第一步: 登录 https://connect.qq.com qq授权管理中心开通应用,审核通过之后填写平台信息.如图: 值得一提的是网站回调域必须具体到方法,不然登录之后回调会识别错误. 第二步: ...
最新文章
- PSS:简单有效的End-to-End检测
- pandas使用itertuples函数迭代dataframe中的数据行并自定义修改行中的数值(update row while iterating over the rows)
- 寒武纪开盘暴涨350%,市值突破1000亿,85后创始人身家超300亿!千亿盛宴背后隐忧不可忽视!...
- 红黑树(一)之 原理和算法详细介绍---转帖
- PolarDB-X 2.0:使用一个透明的分布式数据库是一种什么体验?
- android glu,我可以使用glu与Android NDK
- linux 字符串截取_linux下可执行文件分析
- c语言中const的作用面试,C语言const关键字作用
- micropython和python区别-什么是 MicroPython ?它有什么优势?
- SQL优化之not in
- Django学习--models(模型)
- axis1 c# 接口 调用_C#图形编程GDI+基础
- unity2018设置雾在哪_【zSpace实操】Unity2018发布设置
- Excel数据透视表经典教程十一《数据透视分析》
- tasklist 结束进程_netstat -ano,ntsd;tasklist,tskill-查看杀死进程命令 | 学步园
- java数组下标从几开始的_为什么数组角标从0开始
- 网络传真技术的现状和发展
- java-打印空心的菱形
- Flink使用二次聚合实现TopN计算
- PhotoZoom 8全新版免费手机图片放大工具