用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/有原原本本的源码下载,这里我就不多说了,要是还不会可以先去看那里的视频教程
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。