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

第三方登录,就是使用大家比较熟悉的比如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文件夹,其余的我觉得都可以忽略不看(你看也没事),按照这篇文档一步一步往下进行,你就可以实现登录的功能。

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();
 }
}

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

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

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接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
  • PHP第三方登录—QQ登录实现方法
  • PHP实现QQ登录实例代码
  • PHP模拟QQ登录的方法
  • QQ登录 PHP OAuth示例代码
(0)

相关推荐

  • QQ登录 PHP OAuth示例代码

    根据官方文档编写 复制代码 代码如下: <?php /** * 申请http://connect.opensns.qq.com/apply * 列表http://connect.opensns.qq.com/my */ session_start(); $qq_oauth_config = array( 'oauth_consumer_key'=>'*******',//APP ID 'oauth_consumer_secret'=>'******************',//APP

  • PHP实现QQ登录实例代码

    分享一段利用PHP实现QQ登陆的代码,原理是用curl模拟发送post登录,cookie保存本地,实现真正的3GQQ登陆.这里代码理论可以支持永久单挂QQ-真正做到免费挂qq哦. <?php function qqlogin(){ $qqno='这里填写QQ账号'; $qqpw='这里填写QQ密码'; $cookie = dirname(__FILE__).'/cookie.txt'; $post = array( 'login_url' => 'http://pt.3g.qq.com/s?s

  • PHP模拟QQ登录的方法

    本文实例讲述了PHP模拟QQ登录的方法.分享给大家供大家参考.具体实现方法如下: 原理是用curl模拟发送post登录,cookie保存本地 这样理论上可以支持永久单挂QQ <?php //http://blog.qita.in 非技术[S.T] $qqno='你的QQ'; $qqpw='QQ密码'; $cookie = dirname(__FILE__).'/cookie.txt'; $post = array( 'login_url' => 'http://pt.3g.qq.com/s?s

  • 浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑

    前言 绝大多数网站都集成了第三方登录,降低了注册门槛,增强了用户体验.最近看了看 QQ 互联上 QQ 登录的接口文档.接入 QQ 登录的一般流程呢,是这样的:先申请开发者 -> 然后创建应用(拿到一组 AppId 和 AppKey)-> 获取 access_token -> 获取 openid -> 调用 openApi 访问或修改用户信息. 然而,从申请个人开发者开始,坑就来了. 1. 申请(个人)开发者 QQ 互联中申请开发者信息的页面,一些重点太过简陋,缺失细节,比如身份证正

  • PHP第三方登录—QQ登录实现方法

    oAuth基本原理 接入QQ登录前置条件 申请AppID 和Appkey 登录QQ互联申请网站应用或移动应用接入 按照步骤申请成功后,创建应用即可看到对应的AppId和AppKey 引入官方SDK 添加测试回调地址 1.在本地添加一个虚拟主机**,比如域名为test.gz06.cn,然后在hosts文件中加入此域名 127.0.0.1       localhost test.gz06.cn 2.在QQ互联的应用信息编辑中将本地添加的测试回调域名加入到回调地址中,用 ; 好分隔,修改的时候要再次

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

    第三方登录,就是使用大家比较熟悉的比如QQ.微信.微博等第三方软件登录自己的网站,这可以免去注册账号.快速留住用户的目的,免去了相对复杂的注册流程.下边就给大家讲一下怎么使用PHP开发QQ登录的功能. 1.进入QQ互联官网进行登录(可以使用自己的QQ或者重新注册一个QQ号作为咱们项目的单独QQ进行管理),地址:https://connect.qq.com/ 2.点击"应用管理"进入QQ互联管理中心,在这里进行相关应用的创建,分为 网站应用 和 移动应用.选择自己想要的应用进行资料的填写

  • QQ登录背景闪动效果附效果演示源码下载

    在前面时间更新的新版本QQ中,登录背景和以前不一样了,是一组闪动的背景,效果非常棒. 效果演示     源码下载 改效果需要引入三个js文件: <script src="js/Jq-19.js" type="text/javascript"></script> <script src="js/cavas.js" type="text/javascript"></script> &

  • 使用java swing实现qq登录界面示例分享

    用Java Swing做的一个QQ登录界面 复制代码 代码如下: import java.awt.Container;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JCheckBox;import javax

  • Android第三方登录之腾讯QQ登录的实例代码

    布局文件 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录成功" android:textSize="25sp" android:layout_marginTop="100dp" /> 清单文件中的配置 <activity android:n

  • 网站接入QQ登录的两种方法

    首先引入授权js文件 <script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="101140406" data-redirecturi="http://127.0.0.1" charset="utf-8"></script> 然后接入QQ

  • qq登录,新浪微博登录接口申请过程中遇到的问题

    1,qq登录接口申请 申请地址是:http://connect.opensns.qq.com/,登录进去后,点击右上方的登录.然后填写信息就行了. 我遇到的问题是在域名审核时,域名审核就是不通过,没办法我就发邮件给qq互联的客服,邮件地址是connect@qq.com.qq还是挺给力的2,3个工作日就能给你审核通过. 审核通过后,开发接口并上线,在登录http://connect.opensns.qq.com/,申请上线,如果不申请上线的话,登录个数有限制. 2,新浪微博接口申请 申请地址是:h

  • Android调用第三方QQ登录代码分享

    本文为大家分享了调用QQ登录的相关代码,希望对大家有帮助,减少项目开发的时间,具体内容如下 1.去QQ开放平台注册帐号(http://open.qq.com/),为应用申请QQ的APP_ID , 并下载相关的jar包,放到工程的lib目录下. 2.在Manifest.xml里注册QQ相关的Activity,代码如下 <activity android:name="com.tencent.connect.common.AssistActivity" android:screenOr

随机推荐