用QQ帐号和新浪微博帐号登录网站
用QQ帐号登录:
将下面代码复制到网站首页中,放进去以后再点击验证就能得到ID和key
第一步:配置web.config及引用DLL 这里Dll直接放置bin 文件夹下即可
放置的文件可以通过http://wiki.opensns.qq.com/wiki/%E3%80%90QQ%E7%99%BB%E5%BD%95%E3%80%91SDK%E4%B8%8B%E8%BD%BD这个页面下的.NETSDK下载
添加上面2处至适当位置其中要说明的是 如果开发环境是vs2010 第一处的版本需要修改成 4.0.0.0我的开发环境是vs2008 所以用2.0.0.0即可
为了拷贝方便代码黏贴如下:
<sectionGroup name="QQSectionGroup">
<section name="QzoneSection" type="System.Configuration.NameValueSectionHandler,System,Version=2.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089" />
</sectionGroup>
<QQSectionGroup>
<QzoneSection>
<add key="AppKey" value="100273220" />
<add key="AppSecret" value="**************************" />
<addkey="CallBackURI" value="www.qihaolu.com/qqshouquan.aspx"/>
<add key="AuthorizeURL" value="https://graph.qq.com/oauth2.0/authorize" />
</QzoneSection>
</QQSectionGroup>
说明:
AppKey:网站应用APP ID
AppSecret:网站应用 KEY
CallBackURI:QQ登陆授权后返回的页面地址
第二步:
在前台登录处添加以下代码:
<a href="<%=stateA %>">QQ帐号登录</a>
在后台添加以下代码:
using QConnectSDK;
using QConnectSDK.Models;
using QConnectSDK.Context;
using System.IO;
protected string stateA = string.Empty;
if (!IsPostBack)
{
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);
Session["requeststate"] = state;
Session["scope"] = scope;
stateA = authenticationUrl;
}
提示:
一开始我写成<a href="https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=100273220&redirect_uri=www.qihaolu.com/qqlogin.aspx">QQ登录</a>
然后把上面的后台代码放在qqlogin.aspx后台里面,结果登录的时候要点两次登录才能登录
第三步:
创建qqshouquan.aspx页面 web.config里面有设置CallBackURI,在.cs里面添加如下代码
using QConnectSDK;
using QConnectSDK.Models;
using QConnectSDK.Context;
using System.IO;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
QQ();
}
}
public void QQ()
{
if (Request.Params["code"] != null)
{
QOpenClient qzone = null;
QConnectSDK.Models.User currentUser = null;
var verifier = Request.Params["code"];
string state = Session["requeststate"].ToString();
qzone = new QOpenClient(verifier, state);
currentUser = qzone.GetCurrentUser();
string openid = qzone.OAuthToken.OpenId;
string aa = qzone.OAuthToken.AccessToken;
if (null != currentUser)
{
string id = openid.Substring(0, 8) + "-" + openid.Substring(8, 4) + "-" + openid.Substring(12, 4) + "-" + openid.Substring(16, 4) + "-" + openid.Substring(20, 12);
int sum = Bll.GetRecordCount("CUSTOMER_ID='" + id + "'");
if (sum > 0)
{
//存在(跳转)
Response.Cookies["id"].Value = id;
Response.Redirect("Index.aspx");
}
else
{
//不存在(新增)
model.CUSTOMER_ID = new Guid(id);//QQ唯一ID
model.CUSTOMER_SEX = currentUser.Gender;
model.CUSTOMER_LOGIN_TYPE = 2;
model.CUSTOMER_STATE = 2;
model.CUSTOMER_NICKNAME = currentUser.Nickname;//昵称
Bll.Add(model);
Response.Cookies["id"].Value = id;
Response.Redirect("Index.aspx");
}
}
}
至此就可以获取QQ用户的信息了,及openid 和AccessToken
用微博帐号登录:
申请AppKey流程我就不说了,和QQ的申请流程一样,微博登录和发表微博在http://weibosdk.codeplex.com/有原原本本的源码下载,这里我就不多说了,要是还不会可以先去看那里的视频教程
用QQ帐号和新浪微博帐号登录网站的更多相关文章
- ASP.NET MVC应用程序中支持用户使用腾讯QQ和微信以及新浪微博的第三方登录
什么是第三方授权登录,就是一些大家都会有的帐号如QQ.微信.淘宝.微博等账户.通过那些巨头公司提供的api直接实现登录. 当然,我们是不可能得到你的用户名和密码的.不了解的人,可能会存在这个疑虑.我们 ...
- 用root帐号切换其他帐号提示 su: warning: cannot change directory to /home/oracle: Permission denied
用root帐号切换其他帐号提示: 出错原因: 基本上是根目录或者是/home/oracle目录权限的问题 解决办法: 更改根目录权限为755,并保证对应用户主目录的所属用户和所属组一致和用户名一致. ...
- 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(上) 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(下)
微信.QQ.新浪微博等第三方登录,你想知道的都在这了(上):https://www.jianshu.com/p/133d84042483 微信.QQ.新浪微博等第三方登录,你想知道的都在这了(下):h ...
- .NET C#使用微信公众号登录网站
适用于:本文适用于有一定微信开发基础的用户 引言:花了300大洋申请了微信公众平台后,发现不能使用微信公众号登录网站(非微信打开)获得微信帐号.仔细研究后才发现还要再花300大洋申请微信开放平台才能接 ...
- 微信公众号与APP微信第三方登录账号打通
一个项目同时开发了APP和微信服务号,需要做到APP和微信服务号的账号互通同步,也就是说一个账号在2个地方都可以用,当然这个前提是保证你公司自己的服务器的数据库用的是同一套. 为保证用户数据的唯一性, ...
- 用java开发微信公众号:测试公众号与本地测试环境搭建(一)
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng/p/5023678.html 俗话说,工欲善其事,必先利其器.要做微信公众号开发,两样东西不可少,那就是要有一 ...
- 微信订阅号里实现oauth授权登录,并获取用户信息 (完整篇)
摘要 这段时间一直有人问我,订阅号实现的oauth授权登录的问题,之前写的比较简单,很多人不明白.众所周知,微信公众号分订阅号.服务号.企业号:每个号的用途不一样,接口开放程度也不一样.微信还有个扯淡 ...
- 微信公众号JSAPI支付-多公众号向同一商户号支付的问题解决
一.背景 项目提供公众号商城集成,在公众号里进行商品的购买,并与多家公众号合作增加渠道流量. . 二.实现 有关微信公众号.商户号的开通与支付绑定不细说 从背景里可知,我们需要实现多个公众号购买向同一 ...
- Java 扫描微信公众号二维码,关注并自动登录网站
https://blog.csdn.net/qq_42851002/article/details/81327770 场景:用户扫描微信公众号的二维码,关注后自动登录网站,若已关注则直接登录. 逻辑: ...
随机推荐
- WICED -- Wireless Internet Connectivity for Embedded Devices
Broadcom's Wireless Internet Connectivity for Embedded Devices (WICED™) platform (pronounced "w ...
- wpf 分别用前台和后台 两种方法 绘制矩形 填充
xaml: <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft ...
- TCP通信粘包问题分析和解决(全)(转)
TCP通信粘包问题分析和解决(全) 在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的.因此TCP的socket编程,收发两端(客户端和服务器端)都要有成对的socket,因此,发送 ...
- ExtJS4.2:自定义主题 入门
背景 用过 ExtJs 的朋友都有一种趋势:审美疲劳,好在 Ext4.1 之后的版本提供了快速自定义主题的功能,本文的内容主要来自:http://docs.sencha.com/extjs/4.2.2 ...
- django的过滤和搜索排序功能django-filter
参考: 1.https://django-filter.readthedocs.io/en/master/guide/usage.html#the-filter 2.https://www.cnblo ...
- mysql中避免使用保留字和关键字做列的名字
设计数据表时,应尽量避免使用MySQL的关键字和保留字作为表名或列名. 比如key和keys为保留字,如果不小心使用关键字或者保留字作为列名字,执行下面的语句会出现语法错误: select * fro ...
- C++内存管理学习堆和栈
来源:http://c.chinaitlab.com/basic/936306_2.html 一 C++内存管理 1.内存分配方式 在讲解内存分配之前,首先,要了解程序在内存中都有什么区域,然后再详细 ...
- 数学图形(1.35)Kappa curve
不知道这个曲线和那个运动品牌背靠背有什么关系.阿迪原先的商标是个三叶草,难道背靠背也是由数学图形来的? 以下是维基上的解释. In geometry, the kappa curve or Gutsc ...
- 大端和小端(Big endian and Little endian)
一.大端和小端的问题 对于整型.长整型等数据类型,Big endian 认为第一个字节是最高位字节(按照从低地址到高地址的顺序存放数据的高位字节到低位字节):而 Little endian 则相反,它 ...
- 【SSH 基础】SSH框架--struts深入具体解释(一)
学习了struts,可是对于它的由来,以及为什么使用action和struts.xml的方式而不採用曾经的servlet方式.有些疑问,究竟之前的方式有什么弊端,struts又给我们带来了什么便利? ...