PHP第三方登录--QQ登录

该博客介绍了PHP SDK的使用流程。首先要进行开发者信息审核,接着申请应用,然后从指定地址下载sdk资源。下载后解压并放入网站目录进行配置,填入app_id和app_key。还介绍了PHP sdk目录结构,最后给出了回调、首页、登陆、退出等简单实例文件。

1.申请资格--进行开发者信息审核

点击导航栏上的头像即可进入开发者信息填写界面

2.应用申请

点击创建应用即可

3.下载sdk资源

下载地址:http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD

4.配置

将下载的sdk解压后,将connect2.1文件放入到网站目录中,在浏览器中运行 网站地址/目录/connect2.1/install 进行配置,填入相应的app_id和app_key,当配置完成时,即可将API之外的所有文件删除。若只是测试和学习使用,即使网站应用申请审核不通过也可以进行。

5.PHP sdk目录结构

API:包含接口类,配置文件,接口类主要使用Oauth,class.phpOauth相关URL动态拼接与token操作、Recorder.class.php配置读写与SESSION存取、URL.class.php基于CURL库的get和post请求

6.简单实例

回调文件callback.php

require_once './Connect2.1/API/qqConnectAPI.php';
$Oauth = new Oauth();
$access_token = $Oauth->qq_callback();
$openId = $Oauth->get_openid();
$URL = new URL();
$keysArr = [
    'access_token' => $access_token,
    'oauth_consumer_key' => 'app_id',
    'openid' => $openId
];
$baseURL = 'https://graph.qq.com/user/get_user_info';
$res = $URL->get($baseURL, $keysArr);
$user_info = json_decode($res, true);
$_SESSION['user_info'] = $user_info;
$_SESSION['time'] = time();
header('Location:http://test.com/qqLogin/index.php');

首页文件index.php

<?php session_start();?>
<html>
<head>
    <meta charset="UTF-8">
    <title>首页</title>
    <link rel="stylesheet" href="http://test.com/PHPMailer/static/css/bootstrap.min.css">
    <script src="http://test.com/PHPMailer/static/js/jquery-3.4.0.min.js"></script>
</head>
<body>
    <nav class="navbar navbar-default">
        <div class="container-fluid">
            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav navbar-right">
                    <?php if(!isset($_SESSION['QC_userData']) || empty($_SESSION['QC_userData']) || time()-$_SESSION['time']>3*30*12*60*60){ ?>
                    <li><a href="http://test.com/qqLogin/login.php">登录</a></li>
                    <?php }else{ ?>
                    <li><a href="#"><?php echo $_SESSION['user_info']['nickname']; ?></a></li>
                    <li><a href="http://test.com/qqLogin/logout.php">退出</a></li>
                    <?php } ?>
                </ul>
            </div><!-- /.navbar-collapse -->
        </div><!-- /.container-fluid -->
    </nav>
</body>
</html>

登陆文件login.php

require_once './Connect2.1/API/qqConnectAPI.php';
$Oauth = new OAuth();
$Oauth->qq_login();

退出文件logout.php

session_start();
unset($_SESSION['QC_userData']);
$_SESSION['user_info'] = '';
$_SESSION['time'] = 0;
header('Location:http://test.com/qqLogin/index.php');

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值