layout: post
title: "QQ登录Demo"
date: 2016-05-15 16:12:15 +0800
comments: true
categories: [PHP]
今天完成了一个QQ登录的小Deom
前置条件
- 一个QQ号
- 一台公网通过域名可访问的web服务器
申请AppID和AppKey
如果是第一次登录,会跳转到管理中心,应用开发者注册
[图片上传失败...(image-c73480-1532593633314)]
注册后悔跳转到管理中心,点击创建应用
[图片上传失败...(image-c33453-1532593633314)]
回调地址,可以和上面一样,在开发的时候再修改。
[图片上传失败...(image-33d239-1532593633314)]
将下面这段代码,复制到服务器首页<head>
标签中。
<meta property="qc:admins" content="43216566776571625476636" />
添加测试回调地址
在QQ开放平台应用详情中,选择信息管理,
在回调地址中添加
[图片上传失败...(image-4eeca1-1532593633314)]
其中的callback.php可以自定义。
记得保存之前需要验证。
引入官方SDK
找到PHP下载(有能力可以自己手工开发,造车轮。)
放到站点根目录
SDK参数配置
访问http://localhost/Connect2.1/install.php
[图片上传失败...(image-ce2637-1532593633314)]
配置成功后,保留API下的文件,其他的都可删除。
SDK解读
[图片上传失败...(image-d3353e-1532593633314)]
[图片上传失败...(image-a09163-1532593633314)]
[图片上传失败...(image-4ca177-1532593633314)]
[图片上传失败...(image-840f9f-1532593633314)]
[图片上传失败...(image-b48f5f-1532593633314)]
[图片上传失败...(image-7e26bc-1532593633314)]
[图片上传失败...(image-be3b32-1532593633314)]
[图片上传失败...(image-b6fc4-1532593633314)]
将SDK整合到web中
Connect2.1
放在同级目录下
<?php
require_once "Connect2.1/qqConnectAPI.php";
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</heda>
<body>
<?php if(!isset($_COOKIE['qq_accesstokebn'])||!isset($_COOKIE['qq_openid'])){?>
<a href="qqlogin.php">登录QQ</a>
<?php }else{?>
<a href="qqlogout.php">退出QQ</a>
<?php
$qc = new QC($_COOKIE['qq_accesstokebn'],$_COOKIE['qq_openid']);
$userinfo =$qc->get_user_info();
print_r($userinfo);
}
?>
</body>
</html>
<?php
require_once 'Connect2.1/qqConnectAPI.php';
//访问QQ页面
$oauth = new Oauth();
$oauth->qq_login();
?>
<?php
setcookie('qq_accesstokebn',null);
setcookie('qq_openid',null);
header("Location:index.php");
?>
<?php
require_once 'Connect2.1/qqConnectAPI.php';
//echo $_GET['code'];
//请求accesstoken
$oauth = new Oauth();
$accesstoken = $oauth->qq_callback();
$openid = $oauth->get_openid();
setcookie("qq_accesstokebn",$accesstoken,time()+86400);
setcookie("qq_openid",$openid,time()+86400);
header("Location:index.php")
?>
网友评论