第三方网站QQ登录

来源:互联网 发布:安全优化版和官方原版 编辑:程序博客网 时间:2024/06/10 04:58

  一:申请appid和appkey

网址:http://connect.qq.com/ (QQ互联开放平台)

 二:下载官方SDK(qqConnect_Server_SDK-php_v2.1解压放在项目目录下),运行install,填写APP ID,APP KEY,callbackurl配置项。

 三:

首页登录按钮(可以引用官方的登录按钮),此处我直接用a标签跳转

index.PHP

[php] view plain copy
  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.     <meta charset="utf8">  
  5.     <meta property="qc:admins" content="1750076627657205663145770566000" />  
  6.     <title></title>  
  7.     </head>  
  8.   
  9.     <body>  
  10.     <?php if(!isset($_COOKIE['qq_openid']) || !isset($_COOKIE['qq_accesstoken'])) {?>  
  11.     <a href="open.php">登录qq</a>  
  12.     <?php }else{?>  
  13.         <a href="qqlogout.php">退出qq</a>  
  14.         <?php }?>  
  15.     </body>  
  16. </html>  

    open.php

[css] view plain copy
  1. require_once 'Connect2.1/qqConnectAPI.php';  
  2.     $oauth = new Oauth();  
  3.     $oauth->qq_login();   

    qqlogout.php

[php] view plain copy
  1. <?php  
  2.      setcookie('qq_accesstoken',$accesstoken,null);  
  3.      setcookie('qq_openid',$openid,null);  
  4.      header('Location:index.php');  
  5. ?>  
  回调callback.php

[php] view plain copy
  1. <?php  
  2. require_once 'Connect2.1/qqConnectAPI.php';
  3. $oauth = new oauth();  
  4. $accesstoken = $oauth->qq_callback();  
  5. $openid=$oauth->get_openid();  
  6. $qc = new QC($accesstoken ,$openid);//必须传入accesstoken和openID,防止openID同化
    $arr = $qc->get_user_info();
  7. $nickname = $arr['nickname'];
  8. setcookie('qq_accesstoken',$accesstoken,time()+86400);  
  9. setcookie('qq_openid',$openid,time()+86400);  
  10. header('Location:index.php');  
  11. ?>  
原创粉丝点击