qq一键登入功能对于大多数小中型网站来说是十分必要的,因为他给你的用户带来了极大的方便,但是想要集成网站的qq一键登入功能,你必须要一些编程基础,使网站和qq登入的应用之间进行一些必要的交互,下面我简单的介绍下具体的流程。

1.访问网址qq互联平台http://connect.qq.com,使用任意qq帐号登入

2.管理中心菜单中开始创建一个应用,以便你的网站和域名能够合法使用该功能。

3.选择创建网站应用,然后填写选项

如果没有什么问题,点击创建应用按钮即可提交,接下来你会看到你的提交进入未审核状态

得到提示:您还有1款未审核应用,尽快完善接入平台资料并提交上线申请,三个月内未上线会被平台清除,APPID被收回

现在就可以开始开发,等开发流程好了后,去申请审核,大约1-3天内即可正常使用了

访问网址http://wiki.connect.qq.com/

查看开发文档,重要内容如下

从文档中可以看到,首先放置“QQ登录”按钮,就是在你的网站放一个qq图标,但是需要有一个链接,你可以在你的网站建一个php文件,比如qqlogin.php,qq图标的链接是http://yourdoamin.com/qqlogin.php?c=login, 为什么要这样写,是为了一个页面处理多个请求,下面看下代码:

PHP文件:qqlogin.php

你的域名表示为:http://yourdoamin.com

switch ($_GET['a'])

{

case 'login';

$_SESSION['state']=time();

$url="https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=xxxxx&redirect_uri=http://www.yourdomain/qqlogin.php?a=callback&state=".$_SESSION['state']."&scope=get_user_info";

redirect($url, $delay =0,$js = false,$jsWrapped = true, $return = false);

break;

case 'callback';

$code=addslashes($_GET['code']);

$state=addslashes($_GET['state']);

//防止xss跨站攻击

if(($code=='') or ($state<>$_SESSION['state']))

{

exit('err,please back');

}

$url='https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=xxxxx&client_secret=xxxxx&code='.$code.'&redirect_uri=http://www.yourdomain/qqlogin.php?a=callback';

//redirect($url, $delay =0,$js = false,$jsWrapped = true, $return = false);

$access_token=vita_get_url_content($url);

if ($access_token)

{

$url='https://graph.qq.com/oauth2.0/me?'.$access_token;

$callback=vita_get_url_content($url);

if ($callback)

{

$content=str_replace('callback(',"",$callback);

$content=str_replace(');',"",$content);

$content=json_decode($content);

$client_id=$content->client_id;

//判断是否合法

if ($client_id=='xxxxx')

{

$openid=$content->openid;

//此处省略db操作,你可以使用$openid去你自己数据库查有没这个用户唯一标识,没有就去插入,如果需要用户昵称等资料可以调用接口https://graph.qq.com/user/get_user_info实现代码如下

$url="https://graph.qq.com/user/get_user_info?".$access_token."&oauth_consumer_key=xxxxx&openid=".$openid."";

$userinfo=vita_get_url_content($url);

$userinfo=json_decode($userinfo);

$nickname=$userinfo->nickname;

// 然后赋值session执行登入

redirect('http://www.yourdomain.com', $delay =0,$js = false,$jsWrapped = true, $return = false);exit;

}

}

}

exit('time out');

break;

default:

}

//自定义跳转函数

function redirect($url, $delay = 0, $js = false, $jsWrapped = true, $return = false)

{

$delay = (int)$delay;

if (!$js) {

if (headers_sent() || $delay > 0) {

echo'

';

exit;

} else {

header("Location:".$url."");

exit;

}

}

$out = '';

if ($jsWrapped) {

$out .= '

}

$url = rawurlencode($url);

if ($delay > 0) {

$out .= "window.setTimeOut(function () { document.location='{$url}'; }, {$delay});";

} else {

$out .= "document.location='{$url}';";

}

if ($jsWrapped) {

$out .= '

}

if ($return) {

return $out;

}

echo $out;

exit;

}

以下就是登入窗口,接口差不多了,是不是很简单

php网站 qq登陆,PHP QQ一键登入网站实现过程相关推荐

  1. 解决邮件客户端QQ Mail及Thunderbird无法登入Outlook的问题

    最近无论是安卓手机的邮件客户端, 或者是 Ubuntu 下的 Thunderbird 都无法登入 Outlook 账号, 原因是需要开启双因素验证. 这个在 Outlook 界面上是不能直接设置的, ...

  2. Spring boot 使用QQ邮箱进行一个验证登入

    Spring boot 使用QQ邮箱进行一个验证登入 QQ邮箱开启权限 在QQ邮箱设置->账户里面,往下拉找到这个开启,手机号验证成功后会有一串英文字符串是待会儿要用到的密码. prom.xml ...

  3. PHP登入网站抓取并且抓取数据

    有时候需要登入网站,然后去抓取一些有用的信息,人工做的话,太累了.有的人可以很快的做到登入,但是需要在登入后再去访问其他页面始终都访问不了,因为他们没有带Cookie进去而被当做是两次会话.下面看看代 ...

  4. qq一键登入帝国cms插件|适用7.5 7.2版本|UTF-8 GBK双版本

    简介: 帝国CMS啥插件都有,这款QQ登入插件,快快拿去用吧,非常方便,傻瓜式设置. 网盘下载地址: http://kekewangLuo.cc/81N8Y2qFUcd0 安装插件: 1.将" ...

  5. 实现QQ登陆(QQ互联)

    更多干货 分布式实战(干货) spring cloud 实战(干货) mybatis 实战(干货) spring boot 实战(干货) React 入门实战(干货) 构建中小型互联网企业架构(干货) ...

  6. Android中集成QQ登陆和QQ空间分享

    本文基于QQ open sdk V2.4.1. QQ登录应用有一个地方是需要注意的, QQ申请同一品牌应用(包括网站和app),需要相互依赖申请,因为在QQ互联中,一个应用对应一个app key,如果 ...

  7. android如何实现qq登陆和qq分享,2021超详细mob平台图解教程?

    android如何使用mob平台实现QQ登录以及分享功能 1.在mob平台配置ShareSDK环境 1.如何在mob平台创建应用 2.获取你的`App Key`和`App Secret`(建议用自己的 ...

  8. 帝国cms插件支持7.0/7.2 7.5/UTF-8 微信登入插件 一键登入

    简介: 这款微信登入插件,快快拿去用吧,非常方便,傻瓜式设置. 安装非常简单!新手也能懂! 网盘下载地址: http://kekewangLuo.cc/okQMSxm8a8m0 图片: 安装使用方法: ...

  9. c# webrequest 自动登入网站

    这两天用c# 写了一个自动登入网页的小工具.使用的是发送webrequest的方式. 首先,使用抓包工具fiddler抓取登入页面时发送的request. 通过抓包工具,能够获取登入页面时发送的请求, ...

最新文章

  1. 记录navigator实现不同设备页面跳转
  2. my-medium.cnf_您的手机如何打开medium.com-我将让门卫和图书管理员解释。
  3. C++查漏补缺之浮点数内存表示
  4. 实验楼mysql实验-搭建一个简易的成绩管理系统的数据库
  5. Redis系列(二)-Hredis客户端设计及开源
  6. vs如何运行外部 C++ 文件
  7. keepalived实现LVS-DR模型的高可用
  8. 一个基于 EasyUI 的前台架构(4)主体页面框架收工
  9. 很全很强大的官方API集合
  10. 一起用Python做个车牌自动识别系统,好玩又实用!
  11. Axure8.1破解码 注册码 授权码
  12. 拼多多搬家上货助手怎么用?方法步骤有?
  13. 谷歌十年愚人节,「玩笑」背后是美好生活的企盼
  14. java课程设计 雍俊海_java课程设计模拟科学计算器【参考】.doc
  15. 海康威视监控下载下来的mp4格式的视频,小类别MPEG-PS格式
  16. 心电图ECG常用滤波器之陷波器
  17. fedora利用vmlinuz和initrd制作linux启动u盘,打造Fedora 14安装U盘
  18. 《操作系统》2022年期末A卷
  19. [ISUX译转]CSS3 transition规范的实际使用经验
  20. SAP SMARTFORMS文本内容手动换行输出

热门文章

  1. Oracle分批提交DML
  2. 【OJ每日一练】1247 - 质因数分解
  3. 数据分析------相关分析之距离分析在道具购买量的应用探索
  4. 最常见的十四种购买心理
  5. What's the DCOM?
  6. python中strftime函数_Python strftime()用法及代码示例
  7. php设置backlog,php-fpm backlog参数优化
  8. jetson xavier nx安装opencv3.4
  9. iCheck插件 全选和获取value值的解决方法
  10. 智能匹配-核心词圈词 —— 百度SEM