19网站实现QQ登录功能

news/2024/5/20 2:06:54/文章来源:https://blog.csdn.net/wowkk/article/details/17315637

    一般网站要先做个用户注册的功能页面,但我的网站名气不大,不需要要求用户注册,所以直接使用腾讯QQ登录的API接口。

    如何使用JS_SDK让网站拥有QQ登录的功能,官网的这篇文章写得还算完整:http://connect.qq.com/intro/login/jssdk-demo  但是,里面有些地方并没有填写“实例”,只是说那个地方需要填写什么东西,但有时这样说是不够的,我就是试了挺多遍才知道填写的格式。

    所以我重新整理下过程。

    一:准备工作

          域名注册,空间购买,网站接入申请这些我就不说了。使用API要求有个“回调地址”,所以本地调试就别想了。

          我所用的域名是:http://bbs.yirenge.net/   填写网站基本信息就是这样的:

          QQ登陆功能申请

    二:制作一个回调网页

          当访客点击“QQ登录”时,网页就跳转到“QQ某数据中心登录页面”,正确登录之后,就会返回到“我们制作的回调网页”,然后再跳到“访客刚刚点击登录的地方”。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>伊人阁 </title>
</head>
<body>
<h3>
数据传输中,请稍后...</h3>
</body>
</html>
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"
charset="utf-8" data-callback="true"></script>

 

           命名为:qc_back.htm  保存在根目录下。

     三:首页进行QQ登录

           1:默认形式

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>伊人阁 代购服务 购物分享 售后服务</title>
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"
data-appid="100575629" data-redirecturi="http://bbs.yirenge.net/qc_back.htm"
charset="utf-8"></script>
</head>
<body>
<span id="qq_login_btn" data-role="none"></span>
<script type="text/javascript">
QC.Login({//按默认样式插入QQ登录按钮
btnId: "qq_login_btn"	//插入按钮的节点id
});               
</script>
</body>
</html>


 

实现效果:

          2:自定义效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>伊人阁 代购服务 购物分享 售后服务</title>
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"
data-appid="100575629" data-redirecturi="http://bbs.yirenge.net/qc_back.htm"
charset="utf-8"></script>
</head>
<body>
<span id="qqLoginBtn"></span>
<script type="text/javascript">
//调用QC.Login方法,指定btnId参数将按钮绑定在容器节点中
QC.Login({
//btnId:插入按钮的节点id,必选
btnId: "qqLoginBtn",
//用户需要确认的scope授权项,可选,默认all
scope: "all",
//按钮尺寸,可用值[A_XL| A_L| A_M| A_S|  B_M| B_S| C_S],可选,默认B_S
size: "A_XL"
}, function (reqData, opts) {//登录成功
//根据返回数据,更换按钮显示状态方法
var dom = document.getElementById(opts['btnId']),
_logoutTemplate = [
//头像
'<span><img src="{figureurl}" class="{size_key}"/></span>',
//昵称
'<span>{nickname}</span>',
//退出
'<span><a href="javascript:QC.Login.signOut();">退出</a></span>'
].join("");
dom && (dom.innerHTML = QC.String.format(_logoutTemplate, {
nickname: QC.String.escHTML(reqData.nickname), //做xss过滤
figureurl: reqData.figureurl
}));
}, function (opts) {//注销成功
alert('QQ登录 注销成功');
}
);
</script>
</body>
</html>

 

获取用户信息的文档:http://wiki.connect.qq.com/get_user_info  修改一些参数可以改变登陆后显示的头像大小等信息,但我这边暂时显示不出其它头像,不知道是不是测试阶段(还没通过审核)的限制。

PS:现在我只能用自己的QQ进行登录。每次做了修改的话,需要清理浏览器缓存。

四:判断是否登录

我新建一个目录Mine,里面放一个Index.htm页面,代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>我的领地</title>
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"
data-appid="100575629" data-redirecturi="http://bbs.yirenge.net/qc_back.htm"
charset="utf-8"></script>
<script src="../Resource/JQueryMobile/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
if (QC.Login.check()) {//如果已登录
//向“后台”请求数据
alert("欢迎登录");
QC.Login.getMe(function (openId, accessToken) {
//向“后台”请求当前“用户openId”的数据
$("#message").html("当前登录用户的openId为:" + openId + "\n accessToken为:" + accessToken);
});
}
</script>
</head>
<body>
<div id="message"></div>
</body>
</html>


•openId是用户身份的唯一标识,可以保存在本地,以便用户下次登录时可对应到其之前的身份信息,不需要重新授权。
•accessToken是表示当前用户在此网站/应用的登录状态与授权信息,也可以保存在本地。


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_838546.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20快速开发网站项目的工具和方法

本来已经进入“正式开发”的教程部分了&#xff0c;但这次还是要先插入一些“旁门左道”&#xff0c;因为很多时候&#xff0c;我们仅仅只是要演示一个产品概念或者完成一次老师布置的课程设计&#xff0c;那就没必要仔仔细细地敲打每一行代码。像我这学期选修了“高级网页”课…

基于SSH的在线美食点评网站-java在线美食点评网

基于SSH的在线美食点评网站-java在线美食点评网 开发环境&#xff1a;Eclipse for J2EE,MYSQL5.1,JDK1.7,Tomcat 7首页主要展示一些当地美食。(1)用户注册&#xff1a;用户填写注册账号、密码。 (2)用户登录&#xff1a;用户注册成功后&#xff0c;使用注册账号、密码登录。成功…

关于各网站回到顶部的细节功能

对比一下吧&#xff0c;不说话了&#xff0c;很多人学到的皮毛和精髓是完全两码事。先看淘宝&#xff1a;http://item.taobao.com/item.htm?id9134206497&ali_refida3_619362_1007:1102299863:7:46702465U84y78608587678s868v3I:090efd2e7e3bc5c1f468dbe7eeb252b1&ali…

怎么看服务器linux版本,linux怎么查看版本命令_网站服务器运行维护,linux

如何解决docker内部访问不了宿主_网站服务器运行维护docker内部访问不了宿主的解决方法&#xff1a;首先配置防火墙规则并重载规则&#xff1b;然后启动容器时使用“--net host”模式&#xff1b;最后关闭防火墙即可。linux查看版本命令的方法是&#xff1a;1、# uname &#x…

网站服务器上安装的操作系统,服务器上安装的操作系统

服务器上安装的操作系统 内容精选换一换本节操作以Windows Server 2012 R2 标准版操作系统的弹性云服务器为例&#xff0c;介绍安装IIS服务的操作步骤。本节操作仅是安装IIS服务的操作步骤&#xff0c;后续搭建具体应用的操作步骤请根据业务实际情况进行配置。打开服务器管理器…

程序员实用工具网站

目录 1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站 9、项目开源 10、在线工具宝典大全 程序员开发需要具备良好的信息检索能力&#xff0c;为了备忘&#xff08;收藏夹真是满了&#…

如何在oracle网站下载jdk

第一步&#xff1a;https://www.oracle.com/index.html 网址 第二部&#xff1a;最下面 找到 Downloads and Trials 下面的 Java for Developers 点击进入 第三部&#xff1a;找到下面界面 选择你需要的版本&#xff08;以java se 为例&#xff09; 之后点击 jdk downl…

使用SourceTree从GitHub网站上拉取代码

使用SourceTree从GitHub网站上拉取代码 1.进入GitHub官网&#xff0c;选择一个项目&#xff0c;复制克隆地址&#xff1b; 2.打开SourceTree&#xff0c;点击Clone&#xff0c;将刚才在GitHub上的复制的URL粘贴在源路径里&#xff0c;它会自动识别仓库类型&#xff0c;选择克隆…

常用数据结构演示网站

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

Vue+H5调起支付宝---form表单(手机网站支付)

最近做了支付功能&#xff0c;记录一下手机网站唤起支付宝&#xff0c;根据后端接口返回一个form表单字符串&#xff0c;H5将form表单渲染到页面上&#xff0c;通过提交form表单调起支付宝支付。 后端接口返回的form表单大致这样&#xff1a; 前端处理如下&#xff0c;代码贴上…

大型网站技术架构

这本书是阿里的李智慧写的&#xff0c;长这个样子&#xff1a;李智慧在《大型网站技术架构》一书中的大型网站的描述&#xff0c;真的堪称经典。大型网站应该满足以下几点&#xff1a;1.性能 2.可用性 3.伸缩性 4.扩展性 5.安全性对这几个方面的描述大致如下&#xff1a;1.…

地方网站运营分享、未来发展汇报 [十年巨献,纯干货,不忽悠]

转眼间&#xff0c;新的一年又来临了 和数以千计的老朋友、新站长在奋斗和成长中一起度过了2016 2016年整个互联网行业从前几年的波澜壮阔逐渐恢复了平静和理性 也可以说是从人心浮躁的各种盲目、盲从中&#xff0c;逐渐回归了到了真正的用户需求 很多放弃…

【网站管理1】_dede织梦后台如何发布文章

对于新手可能不了解&#xff0c;dede织梦后台是如何发文章的。下面说下我的经验。 发布文章步骤 1.打开浏览器&#xff0c;推介谷歌&#xff0c;360极速浏览器&#xff0c;火狐浏览器&#xff0c;输入网站后台网址 出现如下图登入界面 2.输入账号密码&#xff0c;登入进网站后…

【网站管理2】_如何写有质量的医疗竞价着陆页文章?

如何写有质量的着陆页文章&#xff1f; 竞价文章&#xff0c;就是供竞价账户着陆的文章&#xff0c;竞价文章的考核标准---转化率&#xff01; 由于竞价文章&#xff0c;是通过花钱直接在百度获取排名的&#xff0c;所以流量不用文章编辑考虑。如何将这些流量引导进入咨询&…

像淘宝、京东这样的大型电商网站服务器构架完全部署解决方案

任何一个大型网站都是经历用户积累然后成长&#xff0c;从一台服务器到多台服务器才能构架支撑网站现有数据、用户、页面请求等。大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性&#xff0c;它总是随着用户量的增加&#xff0c;业务…

帝国CMS 6.5功能解密:网站安全防火墙使用说明

有关帝国CMS新版防火墙介绍可以查看&#xff1a;http://bbs.phome.net/showthread-13-136169-0.html 本文为大家讲解如何使用网站防火墙&#xff1a; 一、配置“网站防火墙”有下面两种方法&#xff1a; 1、后台>“系统设置”>“网站防火墙”。 2、修改e/class/config.ph…

网站优化提高加载速度的14个技巧

优化了加载速度的网站不仅可以提高其搜索引擎的排名&#xff0c;同时也可以降低网站的跳出率&#xff0c;提高其转换率&#xff0c;还能提供更好的终端用户体验&#xff0c;这是当今基于Web环境取得成功的关键。 下面我将介绍几个优化网站加载网页速度的简单方法&#xff0c;一…

织梦最新版后台一键更新网站、更新文档HTML、添加文档卡死500的解决方法

后台操作很卡&#xff0c;经常卡住&#xff0c;解决方法 1、/data/common.inc.php 里面如果是 localhost 的话&#xff0c;把它改成 127.0.0.1 2、把 /dede/templets/index_body.htm 25到41行&#xff0c;删除 3、检查 /include/common.inc.php 文件最下面的代码是不是这样的 …

如何有效的避免图片侵权(100%避免网站图片侵权)

最近发现很多站长都有收到法院的传票&#xff0c;主要是因为网站使用了对方的图片&#xff0c;对方要求索赔&#xff0c;小编也收到了这种侵权的官司&#xff0c;上下赔了1万多元&#xff0c;经过几次官司的经验&#xff0c;小编整合了一套方法&#xff0c;既可以随意使用图片&…