PHP实现qq第三方登录实例

1、接入QQ开放平台的前置条件
1、一个QQ号
2、一台公网可以访问的web服务器(阿里云、百度云、腾讯云)
3、通过备案的域名

2、腾讯QQ_AppIDt和AppKey申请网址
https://connect.qq.com/

3、回调地址常见问题及修改方法
1. 什么是回调地址域名?
用户点击QQ登录跳转到QQ登录页面,登录成功后,应该跳转回网站。回调地址即在这里用来指定跳转回网站的URL。 回调地址注册的目的是为了保障第三方APPID帐户的安全,以免被其他恶意网站盗用。  申请时需注意: 1. 只需要填写站点根域名即可(申请成功后可修改); 2. 如有多个站点同时使用该APPID,可以注册多个根域名,用分号隔开; 3. 具体跳转URL将在程序中指定路径以及请求参数进行构造。
例如:
申请时填写的回调地址是:http://www.023xs.cn/qqlogin.php;http://www.example.com/qqlogin.php
合法的redirect_uri参数可以是:http://bbs.023xs.cn/qqlogin.php?a=1
也可以是:http://www.example.com/qqlogin.php?a=1
但是如果使用:http://www.023.cn/qqlogin.php?a=1 ,请求将会被认为非法,因为该回调地址根域名未被注册过。

2. 回调地址错误的原因有哪些?
回调地址错误,会返回错误码:100010。
回调地址错误的原因如下:(1)没有传入域名;(2)传入的域名与申请接入时填写的回调地址域名冲突。
例如:申请时填写的回调地址是:http://www.023xs.cn,传入的是http://www.023.cn?a=b&c=d, 则会返回错误码。
正确的请求回调地址示例是:http://www.023xs.cn?a=b&c=d,保证填写的回调地址和请求的一致。

4、配置SDK参数(特别注意回调地址的填写)
appid:APP ID

appkey:appkey

callback: example/oauth/callback.php
勾选请求授权列表:get_user_info

5、 SDK核心类和重要方法
1、登录授权相关的三个主要类(API/class/*.class.php)
Recorder.class.php [配置读写与SESSION存取]
URL.class.php [基于CURL库的get与post请求]
Oauth.class.php [Oauth相关URL动态拼接与Token操作]

7、整合SDK到web项目中之请求访问QQ登录页面(login.php)

   <?php
    require_once 'API/qqConnectAPI.php';
    // 访问QQ登录页面
    $oauth = new Oauth();
    $oauth ->qq_login();

 

8、整合SDK到web项目中之获取code、openID和accesstoken(callback.php)

<?php

 require_once 'API/qqConnectAPI.php';

 //echo $_GET['code'];

// 请求accesstoken
$oauth = new Oauth(); // 实例化Oauth()类
$access_token = $oauth ->qq_callback(); // 获取access_token
$openid = $oauth->get_openid();  // 获取openID
// 存入cookie 也可以存入session或者数据库
setcookie('qq_access_token',$access_token,time()+86400);
setcookie('qq_openid',$openid,time()+86400);

header('Location:index.php');

9、API调用示例,获取用户信息(get_user_info)

<?php
require_once 'API/qqConnectAPI.php';
// 传入 qq_access_token 和 qq_openid 获取用户信息
$qc = new QC($_COOKIE['qq_access_token'],$_COOKIE['qq_openid']);
$userinfo = $qc -> get_user_info();
var_dump($userinfo);

 

到了这一步 基本上QQ快速登录已经完成了,把自己想要的数据存入数据库就O了。 ^-^!

出处:小张个人博客 http://023xs.cn/Article/22

您的支持是对博主最大的鼓励,感谢您的认真阅读。欢迎转载,但请保留该声明。

You May Also Like

About the Author: 烟淡黄昏