PHP实现QQ登录的开原理和实现过程


Posted in PHP onFebruary 04, 2018

第三方登录,就是使用大家比较熟悉的比如QQ、微信、微博等第三方软件登录自己的网站,这可以免去注册账号、快速留住用户的目的,免去了相对复杂的注册流程。下边就给大家讲一下怎么使用PHP开发QQ登录的功能。

1、进入QQ互联官网进行登录(可以使用自己的QQ或者重新注册一个QQ号作为咱们项目的单独QQ进行管理),地址:https://connect.qq.com/

2、点击“应用管理”进入QQ互联管理中心,在这里进行相关应用的创建,分为 网站应用 和 移动应用。选择自己想要的应用进行资料的填写(审核需要等待大概7天左右),审核通过你将获得APP ID

和APP Key,请拿小本本记上!请拿小本本记上!请拿小本本记上!(重要的事情说三遍!!!)

3、审核通过获得相关接口:get_user_info。

4、下载QQ互联相关的demo http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD 我下载的是 PHP SDK v2.1

5、仔细观察sdk我们会发现它包含有4个文件夹、2个文件,其中最主要的是API文件夹,其余的我觉得都可以忽略不看(你看也没事),按照这篇文档一步一步往下进行,你就可以实现登录的功能。

PHP实现QQ登录的开原理和实现过程

6、将API文件夹拷贝到你的项目里,至于拷贝到项目的哪个文件夹,只要你能引入就行,看你心情来就可以,前期准备做好,接下来就是写代码了。

7、打开你拷贝到项目里的API文件夹,其中有一个comm文件夹,再次打开comm你就能看到一个叫 inc.php 的家伙,打开它!将上文记在你小本本上的APPID 和 APPKEY填写到相关位置,大概形式是这样的

<?php die('forbidden'); ?>
{"appid":"你的appid","appkey":"你的appkey","callback":"你的网站回调域","scope":"get_user_info"}

8、代码如下

<?php
/**
 * Created by PhpStorm.
 * User: qichao
 * Date: 2018/1/31
 * Time: 下午7:22
 */
namespace wechat\controllers;


use wechat\common\BaseController;

require(__DIR__ . '/../tools/API/qqConnectAPI.php'); //引入QQ互联SDK,这是按照我自己项目的路径引入的。

class QqloginController extends BaseController{
 //登录方法
 public function actionQqlogin(){
  $qc = new \QC();
  $qc->qq_login();
 }
 //这个方法是当你通过QQ登录成功以后想要跳转回来的地址,比如你想登录成功以后跳转到百度,那你把下文的$url改为百度链接即可!
 public function actionCallback(){
  header("Content-type: text/html; charset=utf-8");
/* 这里请根据你的项目开发需求(比如获取登录用户的昵称、头像、年龄等等),进行相关代码的开发,具体数据获取方法,请查阅QQ互联文档
  $qc = new \QC();
  $access_token = $qc->qq_callback();

  $openid = $qc->get_openid();
  */
  $url = "http://wechat.xxx.cn/index.php?r=cms/home";
  header("Location:".$url);
  exit();
 }
}

至此呢你的整个流程就走完了,简单吧!!!整个功能流程类似下图:

PHP实现QQ登录的开原理和实现过程

如果你在开发过程中遇到如下问题:

file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

出现这个错误的原因很简单,php配置中的加密模块并没有打开

解决方案:1.(windows)php.ini配置文件,定位到下图蓝色所示的位置,把extension=php_openssl.dll 前面的; 分号去掉

去掉以后重新启动Apache或者nginx服务器,再访问,就不会有这个错误了。

2. linux下的PHP,就必须安装openssl模块,安装好了以后就可以访问了。

PHP 相关文章推荐
使用PHP求两个文件的相对路径
Jun 20 PHP
header导出Excel应用示例
Jan 24 PHP
小谈php正则提取图片地址
Mar 27 PHP
php读取文件内容的方法汇总
Jan 24 PHP
php获取本周星期一具体日期的方法
Apr 20 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
php模板引擎技术简单实现
Mar 15 PHP
PHP实现的进度条效果详解
May 03 PHP
Nginx环境下PHP flush失效的解决方法
Oct 19 PHP
PHP获取数组中指定的一列实例
Dec 27 PHP
使用Laravel中的查询构造器实现增删改查功能
Sep 03 PHP
PHP底层运行机制与工作原理详解
Jul 31 PHP
PHP实现正则表达式分组捕获操作示例
Feb 03 #PHP
php实现解析xml并生成sql语句的方法
Feb 03 #PHP
PHP删除数组中指定下标的元素方法
Feb 03 #PHP
php学习笔记之mb_strstr的基本使用
Feb 03 #PHP
php通过pecl方式安装扩展的实例讲解
Feb 02 #PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 #PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 #PHP
You might like
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
php下通过伪造http头破解防盗链的代码
2010/07/03 PHP
PHP几个数学计算的内部函数学习整理
2011/08/06 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
纯js实现隔行变色效果
2017/11/29 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
python实现二分查找算法
2017/09/21 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
Python Series从0开始索引的方法
2018/11/06 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
2019/12/04 Python
Python Selenium库的基本使用教程
2021/01/04 Python
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
学生学习总结的自我评价
2013/10/22 职场文书
2014年财政工作总结
2014/12/10 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书