本文实例讲述了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授权登录案例相关推荐

  1. TP5 实现QQ互联登录功能

    TP5 实现QQ互联登录功能 准备: 开通QQ登录需要QQ互联已审核通过的[开发账号](https://connect.qq.com),创建应用. 创建应用 创建好的应用大概长这样... 点击 查看 ...

  2. php中qq授权登录,ThinkPHP利用QQ互联实现网站第三方登录(QQ登录)

    接入QQ互联平台后,我们就可以让用户通过QQ帐号登录来登陆我们的网站,这样减少了注册的繁琐,可以更快 .更便捷的为了我带来更多的用户,下面我们一一起来看下如何通过QQ互联来实现第三方登录. ####申 ...

  3. android 9 qq登录,【报Bug】安卓离线打包targetSdkVersion设置28时,在安卓9.0手机上QQ授权登录闪退...

    详细问题描述 [内容] 安卓离线打包,targetSdkVersion设置为28,在安卓9.0手机上运行,下面这段QQ授权登录代码会导致应用闪退或应用重启.低于9.0系统的手机不会出现这个问题.如果t ...

  4. qq授权登录【网站应用】-java版本

    第一步:先去qq互联进行创建网站应用:QQ互联 如下图: 第二步:引入qq的jar包,这里采用maven方式引用 <!--QQ坐标--><dependency><grou ...

  5. qq授权登录实现步骤

    第一步,下载qq授权登录的sdk 第二步:在清单文件中添加腾讯官方的activity ,具体代码在下方 Activity实现: public class MainActivity extends Ac ...

  6. WEB接入第三QQ授权登录

    /**  * 项目: b2b-pc  * 文件: QQAuthority.java  * 包名: com.b2b.pc.auth  * 日期: 2017年11月24日下午8:39:03  * Copy ...

  7. Java实现QQ授权登录网站

    现在的很多网站 为了让用户可以快速登录 使用第三方QQ.微信.微博之类的授权登录     QQ互联的官网地址 1:先去QQ互联申请成为开发者 当审核通过之后  就可以创建一个应用 然后开发实际的登录效 ...

  8. 使用友盟快速集成QQ分享与QQ授权登录

    友盟官方文档 我采用的是手动集成友盟的官方文档.下载SDK进行集成. 解压缩,选择自己需要的文件进行加入到Android Studio中. 由于这里我只需要QQ,那就把QQ文件夹中的所有文件拷贝一份到 ...

  9. php中qq授权登录,php实现qq授权登录

    第一步: 登录 https://connect.qq.com  qq授权管理中心开通应用,审核通过之后填写平台信息.如图: 值得一提的是网站回调域必须具体到方法,不然登录之后回调会识别错误. 第二步: ...

最新文章

  1. PSS:简单有效的End-to-End检测
  2. pandas使用itertuples函数迭代dataframe中的数据行并自定义修改行中的数值(update row while iterating over the rows)
  3. 寒武纪开盘暴涨350%,市值突破1000亿,85后创始人身家超300亿!千亿盛宴背后隐忧不可忽视!...
  4. 红黑树(一)之 原理和算法详细介绍---转帖
  5. PolarDB-X 2.0:使用一个透明的分布式数据库是一种什么体验?
  6. android glu,我可以使用glu与Android NDK
  7. linux 字符串截取_linux下可执行文件分析
  8. c语言中const的作用面试,C语言const关键字作用
  9. micropython和python区别-什么是 MicroPython ?它有什么优势?
  10. SQL优化之not in
  11. Django学习--models(模型)
  12. axis1 c# 接口 调用_C#图形编程GDI+基础
  13. unity2018设置雾在哪_【zSpace实操】Unity2018发布设置
  14. Excel数据透视表经典教程十一《数据透视分析》
  15. tasklist 结束进程_netstat -ano,ntsd;tasklist,tskill-查看杀死进程命令 | 学步园
  16. java数组下标从几开始的_为什么数组角标从0开始
  17. 网络传真技术的现状和发展
  18. java-打印空心的菱形
  19. Flink使用二次聚合实现TopN计算
  20. PhotoZoom 8全新版免费手机图片放大工具

热门文章

  1. [读书]井深大-“索尼精神”的缔造者
  2. Cayley n顶点树数定理
  3. 3D点云系列———pcl:点云融合
  4. 一元夺宝项目设计(中)
  5. Intel TBB 开发指南 2 Parallelizing Simple Loops
  6. 桌面音乐linux,如何在Ubuntu桌面上使用Steam Music音乐播放器
  7. 计算机组成原理中PC和MAR寄存器的位数
  8. C++符号计算库GiNaC的安装和使用教程
  9. 杭州社保解读截止2023
  10. 程序员的无线互联创业陷阱