首页  ·  知识 ·  
Label
      编辑:  图片来源:网络
以下是.net 2.0下,用sdk2 实现qq登录的简单处理

点QQ登录按钮调用的方法

private void qqlogin()
{

//app_id

string key = "21****";

//app_id 对应的key pwd
string secret = "5dedd5c2a88a14b0156d5553b669f3d6";

QzoneSDK.Context.QzoneContext context = new QzoneSDK.Context.QzoneContext(key, secret);

//回调地址,一般只需填写你网站的域名
string callbackUrl = "http://www.domain.com/";
QzoneSDK.OAuth.Tokens.OAuthToken requestToken = context.GetRequestToken(callbackUrl);

//Session["requestToken"] = requestToken;
//request token, request token secret 需要保存起来

//在demo演示中,直接保存在全局变量中.真实情况需要网站自己处理

Session["requesttokenkey"] = requestToken.TokenKey;

Session["requesttokensecret"] = requestToken.TokenSecret;
 

string authenticationUrl = context.GetAuthorizationUrl(requestToken, callbackUrl);
Session["qqurl"] = authenticationUrl;
Response.Redirect(authenticationUrl);
}

在回调地址中处理如下:

得到的open_id 跟QQ是一一对应的,但得不到QQ号

protected void QQLoginCallback()
{
#region qqlogin
//处理QQ登录

try
{

string oauth_token = "";
string openid = "";
string oauth_signature = "";
string oauth_vericode = "";
string code = "";
if (Request["oauth_token"] != null)
{
oauth_token = Request["oauth_token"];
}
if (Request["code"] != null)
{
code = Request["code"];
}
if (Request["openid"] != null)
{
openid = Request["openid"];

Response.Redirect("index.aspx");//成功后跳转到的页面
}
if (Request["oauth_signature"] != null)
{
oauth_signature = Request["oauth_signature"];
}
if (Request["oauth_vericode"] != null)
{
oauth_vericode = Request["oauth_vericode"];
}
}
catch (Exception ex1)
{
}

#endregion
}

本文作者:胡杰 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的
收藏至微信