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获取网卡地址的代码
Apr 09 PHP
php microtime获取浮点的时间戳
Feb 21 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 PHP
PHP函数学习之PHP函数点评
Jul 05 PHP
PHP explode()函数用法、切分字符串
Oct 03 PHP
Symfony的安装和配置方法
Mar 17 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
Oct 29 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
PHP的mysqli_select_db()函数讲解
Jan 23 PHP
php面向对象程序设计入门教程
Jun 22 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
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
JavaScript 序列化对象实现代码
2009/12/18 Javascript
GreyBox技术总结(转)
2010/11/23 Javascript
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
js文本框走动跑马灯效果代码分享
2015/08/25 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
微信小程序动态增加按钮组件
2018/09/14 Javascript
Vue 设置axios请求格式为form-data的操作步骤
2019/10/29 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
python 字符串格式化代码
2013/03/17 Python
Python实现list反转实例汇总
2014/11/11 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
女性时尚网购:Chic Me
2019/07/30 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
往来会计岗位职责
2013/12/19 职场文书
自我评价如何写好?
2014/01/05 职场文书
事业单位年度考核评语
2014/12/31 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书