美文网首页
QQ登录Demo

QQ登录Demo

作者: EwanRenton | 来源:发表于2018-07-26 16:27 被阅读0次

    layout: post
    title: "QQ登录Demo"
    date: 2016-05-15 16:12:15 +0800
    comments: true
    categories: [PHP]


    今天完成了一个QQ登录的小Deom

    前置条件

    • 一个QQ号
    • 一台公网通过域名可访问的web服务器

    申请AppID和AppKey

    QQ开放平台

    如果是第一次登录,会跳转到管理中心,应用开发者注册
    [图片上传失败...(image-c73480-1532593633314)]
    注册后悔跳转到管理中心,点击创建应用

    [图片上传失败...(image-c33453-1532593633314)]
    回调地址,可以和上面一样,在开发的时候再修改。
    [图片上传失败...(image-33d239-1532593633314)]
    将下面这段代码,复制到服务器首页<head>标签中。

    <meta property="qc:admins" content="43216566776571625476636" />
    

    添加测试回调地址

    在QQ开放平台应用详情中,选择信息管理,

    在回调地址中添加

    [图片上传失败...(image-4eeca1-1532593633314)]
    其中的callback.php可以自定义。

    记得保存之前需要验证。

    引入官方SDK

    官方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")
    ?>
    
    

    相关文章

      网友评论

          本文标题:QQ登录Demo

          本文链接:https://www.haomeiwen.com/subject/wbbbmftx.html