网站使用QQ登陆

news/2024/5/20 15:31:04/文章来源:https://blog.csdn.net/weixin_30814223/article/details/96695101

上几天我朋友说他知道怎么实现网站使用QQ号登陆或者注册了,于是要他发给我学习,感觉好复杂,而且运行不了(主要万原因是因为这东西得上传到空间是实验),于是在博客园找了相关的资料,发现在也并不是很复杂的,比他的简单多了。

首先请到这里下载最新版本的SDK:http://opensns.codeplex.com/

SDK依赖于Newtonsoft.Json和RestSharp两个程序集,具体可以参考使用RestSharp 库消费Restful Service。 主要是两个类QzoneContext(QQ登陆的上下文数据)  和 QOpenClient (QQ互联API入口),其他类主要是模型,配置类。

我这里新建的项目是在.net framwork 4.0,请你转换成 .net framwork 4.0,否则可能会出错,运行不了

1、你得去http://connect.qq.com/ 申请一个账号,会得到一个APP ID和App Key,这两个东东会在生成请求的时候用到。你的去填一些资料,还要提交一些资料审核。

在配置文件web.config加入QQ登陆所需要的一些配置参数,下面的代码请加到如下图选中的地方

 

复制代码
<sectionGroup name="QQSectionGroup">
<section name="QzoneSection" type="System.Configuration.NameValueSectionHandler,System, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089"/>
</sectionGroup>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</configSections>
<QQSectionGroup>
<QzoneSection>
<add key="AppKey" value="*******"/><!--这里这填上你在http://connect.qq.com/manage/注册后获得的APP ID-->
<add key="AppSecret" value="*****************"/><!--这里填上注册后的APP KEY-->
<add key="CallBackURI" value="http://www.xxxx.cn"/><!--注册时写的回调地址-->
<add key="AuthorizeURL" value="https://graph.qq.com/oauth2.0/authorize"/>
</QzoneSection>
</QQSectionGroup>
<appSettings>
<!--<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="DaoType" value="Codingwell.DevText.SQLDAL" />-->
<add key="appKey" value="*************"/><!--这里如上面一样-->
<add key="appSecret" value="*******************"/>
<add key="callbackUrl" value="http://www.xxxxxxxxx.cn"/>
<add key="SmtpHost" value="smtp.gmail.com"/>
<add key="SmtpUser" value=""/>
<add key="SmtpPassword" value=""/>
<add key="EnableSsl" value="true"/>
<add key="SslPort" value="587"/>
</appSettings>
复制代码

 

AppKey是申请QQ登录成功后,分配给应用的appid;AppSecret是申请QQ登录成功后,分配给网站的appkey;CallBackURI是QQ登陆成功后的回调地址(回調地址就是你在申請QQ時如下圖中的填寫的回調地址);AuthorizeURL是QQ互联的OAth2认证地址。

(此圖是因為向前一步是幸福發消息給我說:“CallBackURI这个回调网址所指的是什么啊”,所以特加上圖解釋,如其他朋友也有什麼不懂的,請給我留言,或者加上面的QQ群問我!)

在项目中添加上面下载的SDK文件夹中三个引用Newtonsoft.Json.dll、RestSharp.dll和 QConnectSDK.dll, 在页面上放置按钮,打开qq登录的页面,然后登录成功之后回调您的网站的页面。此时如果用户在你的网站有账号,那就可以绑定现有账号,或者新注册一个账号。如果你是新建站,也可以完全使用qq登录来作为用户体系。

 登陆页面:

复制代码
using QConnectSDK.Context;//请加入这个命名空间

public partial class LoginToQQ : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GetRequestToken();
}

private void GetRequestToken()
{
var context = new QzoneContext();
string state = Guid.NewGuid().ToString().Replace("-", "");
string scope = "get_user_info,add_share,list_album,upload_pic,check_page_fans,add_t,add_pic_t,del_t,get_repost_list,get_info,get_other_info,get_fanslist,get_idolist,add_idol,del_idol,add_one_blog,add_topic,get_tenpay_addr";
var authenticationUrl = context.GetAuthorizationUrl(state, scope);
//request token, request token secret 需要保存起来
//在demo演示中,直接保存在全局变量中.真实情况需要网站自己处理
Session["requeststate"] = state;
Response.Redirect(authenticationUrl);

}


}
复制代码

回调页面:

View Code
本地测试
  • 前提准备,了解本地Host文件的作用
  1. 找到C:\WINDOWS\system32\drivers\etc\hosts这个文件
  2. 用文本方式打开
  3. 增加一行:127.0.0.1 www.****.com 你注册时写的网址,不是回调地址(不过也许你的回调地址和你的网址一样,也是可以的)这就是所谓的域名劫持,嘿嘿!
  4. 启动本地服务器
  5. 启动浏览器访问 http://www.****.com/

参考博文:http://www.cnblogs.com/shanyou/archive/2012/02/05/2338797.html

http://www.devtext.com/blogs/detail/43/devtext-com-source-code 以及这个网站提供下载的网站源码。

本示例Demo下载地址:http://files.cnblogs.com/koeltp/Cheditor%E5%92%8Csyntaxhighlighter.rar

前面的路好黑呀……

转载于:https://www.cnblogs.com/qqtool/archive/2013/01/30/2882557.html

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

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

相关文章

腾讯天堂最新服务器,天堂官方网站-腾讯游戏

亲爱的玩家&#xff1a;我们感谢您&#xff0c;成为了《天堂》世界的勇士&#xff1b;我们感谢您&#xff0c;伴随《天堂》十年&#xff0c;不离不弃&#xff1b;我们更感谢您&#xff0c;给我们如此多的批评建议&#xff0c;一切皆因您真心热爱这个游戏。而面对如此热爱《天堂…

测试网站速度的五个免费在线工具

如果你认为一个网站建成后&#xff0c;工作就已经完成&#xff0c;你就大错特错了。你需要不断监测其可用性和可访问性&#xff0c;一个小问题&#xff0c;可能毁了一切。而网页载入速度对于一 个网站来讲至关重要&#xff0c;试想一下&#xff0c;你喜欢进一个需要很长时间才载…

MSDN全球网站大改版

MSDN全球网站大改版如果你现在登录http://msdn.microsoft.com 的话&#xff0c;你会发现发现一个非常重大的改变&#xff1b;微软对MSDN进行了有史以来最大规模的一次改版。记得2周前曾经和MSDN国际化开发团队的负责人Brad聊了一下新版的msdn&#xff0c;当时他介绍了很多新版M…

自定义app_offline.htm,让网站升级提示更专业

用 VS2005 发布新网站时&#xff0c;VS会自动上传个 app_offline.htm 到网站上。这时&#xff0c;所有的网站连接都成为如下图所示:提示信息对开发者来说&#xff0c;有点用处。但是&#xff0c;对于正在访问中用户来说&#xff0c;实在是蹩脚。那么&#xff0c;如何让升级的时…

分享7个我常去的国外AjaxJquery网站

经常逛这些国外的网站&#xff0c;看到很不错的控件和Jquery的演示DEMO:今天拿出来和大家分享一番: Ajax Rain&#xff1a;http://www.ajaxrain.com/ AjaxRain有很多完美整合AJAX, CSS, DHTML 或 Javascript的实例&#xff0c;有一些Demo的确值得你去看一看 Ajax Daddy:http://…

大型网站技术架构(一)--大型网站架构演化

转自&#xff1a;https://blog.csdn.net/chaofanwei/article/details/26865169 看完了有一本书&#xff0c;就应该有所收获&#xff0c;有所总结&#xff0c;最近把《大型网站技术架构》一书给看完了&#xff0c;给人的印象实在深刻&#xff0c;再加上之前也搞过书本上讲的反向…

服务器里面增加单页网站,如何设计完美的单页网站

原标题&#xff1a;如何设计完美的单页网站单页设计&#xff0c;是一项处理小型网站的绝佳技巧&#xff0c;甚至有些网站你可能认为一张页面搞不定&#xff0c;也同样适用。从易于维护&#xff0c;到减少带宽占用&#xff0c;使用单页网站的好处不胜枚举。假如你应对的是个小型…

优化网站设计(十一):避免重定向

前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过&#xff0c;我在不同的场合也分享过这样的话题。 作为通用的原则&#xff0c;雅虎的工程师团队曾经给出过35个最佳实践。这个列表请参考 Best Practices f…

零基础学习GitHub桌面版-6使用pages创建网站

文章目录0 使用pages创建网站1 Git和GitHub的相关内容&#xff08;略&#xff09;1.1开启gh-pages功能2 fork现成的blog2.1选择你喜欢的风格2.2 fork项目3 发布新博文0 使用pages创建网站 折腾了几天&#xff0c;尝试用github来搭建自己的个人博客&#xff0c;一直没有找到好的…

零基础学习GitHub桌面版-7使用Hexo建站并更换主题

文章目录0什么是 Hexo&#xff1f;1 安装Hexo1.1安装前提1.2安装 Git&#xff1a;1.3安装 Node.js1.4安装 Hexo1.5 遇到的问题2建站2.1简单的配置3发布4 HEXO主题4.1 安装主题4.2更新0什么是 Hexo&#xff1f; Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown&…

vs2010如何发布web网站

一、新建网站根目录 D:\Release\WMS 二、新建网站站点 2.1、添加应用程序池 2.2、添加网站 三、vs发布 右键web程序&#xff0c;点击发布到本地&#xff0c;配置如下&#xff1a; 查看IIS&#xff0c;刷新建好的WMS网站 四、浏览 转载于:https://www.cnblogs.com/raowenbin/p/4…

谈谈以前端角度出发做好SEO需要考虑什么?

这里是修真院前端小课堂&#xff0c;每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能&#xff0c;本篇分享的是&#xff1a; 【谈谈以前端角度出发做好SEO需要考虑什么&…

从前端出发做好SEO需要考虑什么

这里是修真院前端小课堂&#xff0c;本篇分析的主题是 【从前端出发做好SEO需要考虑什么】 每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能&#xff0c;本篇分享的是&…

关于大型网站技术演进的思考(十四)--网站静态化处理—前后端分离—上(6)...

前文讲到了CSI技术&#xff0c;这就说明网站静态化技术的讲述已经推进到了浏览器端了即真正到了web前端的范畴了&#xff0c;而时下web前端技术的前沿之一就是前后端分离技术了&#xff0c;那么在这里网站静态化技术和前后端分离技术产生了交集&#xff0c;所以今天我将讨论下前…

如何使用git将代码上传至githup?以及如何利用github搭建自己的个人网站?

这里是修真院前端小课堂&#xff0c;每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能&#xff0c;本篇分享的是&#xff1a; 【 如何使用git将代码上传至githup?以及如何利…

大型网站技术架构:核心原理与案例分析——大型网站架构演化

大型网站软件系统的特点&#xff1a;高并发&#xff0c;大流量、高可用、海量数据、用户分布广泛&#xff0c;网络情况复杂、安全环境恶劣、需求快速变更&#xff0c;发布频繁、渐进式发展。 大型网站架构演化 初始阶段的网站架构 大型网站都是从小型网站发展而来&#xff0…

大型网站技术架构:核心原理与案例分析——性能

Web前端性能优化 浏览器访问优化 减少http请求 HTTP协议是无状态的应用层协议&#xff0c;意味着每次HTTP请求都需要建立通信链路、进行数据传输&#xff0c;而在服务端&#xff0c;每个HTTP都需要启动独立的线程去处理。这些通信和服务的开销都很昂贵&#xff0c;减少HTTP请…

大型网站技术架构:核心原理与案例分析——高可用

高可用的应用 应用层的显著特点是无状态性&#xff0c;所谓无状态的应用是指应用服务器不保存业务的上下文信息&#xff0c;而仅根据每次请求提交的数据进行相应的业务逻辑处理&#xff0c;多个服务实例之间完全对等&#xff0c;请求提交到任意服务器&#xff0c;处理结果都是…

大型网站技术架构:核心原理与案例分析——伸缩性

网站架构的伸缩性设计 网站的伸缩性设计可分为两类&#xff0c;一类是根据功能进行物理分离实现伸缩&#xff0c;一类是单一功能通过集群实现伸缩。前者是不同的服务器部署不同的服务&#xff0c;提供不同的功能&#xff1b;后者是集群内的多台服务器部署相同的服务&#xff0…

大型网站技术架构:核心原理与案例分析——扩展性

扩展性指对现有系统影响最小的情况下&#xff0c;系统功能可持续扩展或提升的能力。表现在系统基础设施稳定不需要经常变更&#xff0c;应用之间较少依赖和耦合&#xff0c;对需求变更可以敏捷响应。它是系统架构设计层面的开闭原则&#xff08;对扩展开放&#xff0c;对修改关…