php接入QQ登录

前言

  腾讯提供的接口文档已经看不下去了


正文

1.注册QQ互联平台账号

网址:QQ互联官网https://connect.qq.com/

在应用管理创建自己的网站应用

这里有一个要注意的地方:

网站回调域:

填写回调地址。在用户授权成功后,会从QQ登录页面跳转回这里指定的回调地址。

下面是我填的信息

网站地址 :www.ncgds.cn
网站回调域 :
http://www.ncgds.cn/ymx/qqlogin/oauth/callback.php
 
 
 
接下来,下载php sdk
解压sdk放到自己本地web服务器上,(使用本SDK时,请保证您的服务器的short_open_tag 配置为on
访问install目录
设置好appid 和 appkey(在QQ互联应用管理详细信息中),还有回调域地址(如我的回调域填写:http://www.ncgds.cn/ymx/qqlogin/oauth/callback.php)
一般情况,在服务器上会新建一个目录,如qqlogin,将API目录上传到qqlogin目录下,并将sdk中的example目录下的oauth整个目录上传到qqlogin下,
将oauth目录下的callback.php修改为以下(更改了引入路径,将../../修改为../)
<?php
require_once("../API/qqConnectAPI.php");
$qc = new QC();
echo $qc->qq_callback();
echo $qc->get_openid();

再将oauth目录下的index.php修改为以下

<?php

require_once("../API/qqConnectAPI.php");
$qc = new QC();
$qc->qq_login();
 前端页面编写中,用户登录按钮后,跳转链接href填: qqlogin/oauth,访问oauth目录下的index.php唤起登录接口
callback.php可以更改为如下
<?php
require_once("../API/qqConnectAPI.php");
if(empty($_SESSION['access_token']) && empty($_SESSION['openid']) ){
$qc = new QC();
$access_token = $qc->qq_callback();
$openid =  $qc->get_openid();
$_SESSION['access_token'] = $access_token;
$_SESSION['openid'] = $openid;    
}
header("location:http://www.ncgds.cn/ymx");

到此,登录接口已经实现,具体信息可查看文档接口

 
 
 
原文地址:https://www.cnblogs.com/ncgds/p/8649402.html