第三方登录 腾讯QQ为例

一、前几天弄第三方登录,刚上手的时候确实不知道做什么,然后就网上搜搜,原来基本上每个三方都有自己的开放平台和开发的SDK还有案例,具体的看案例就知道了

     关键的还是自己申请key我申请好多次都不能,别人说有窍门?我不知道,后来是用用户给的,具体的步骤如下

   

   1、申请开发平台的账户
   2、拿到自己的key和Secret
   3、拿着自己的key得到临时的
   4、在用临时的得到授权的
   5、通过授权的就可以拿到用户的信息了

   扣扣有自己的dll文件, QzoneSDK.dll也可以看腾讯的文档,里面有案例
   using QzoneSDK;
   using QzoneSDK.OAuth.Tokens;


腾讯社区开放平台OAuth2.0 SDK项目

OAuth2.0的SDK已经发布。推荐大家使用OAuth2.0的SDK。

SDK的使用环境?
开发环境:Visual Studio 2010
框架环境:.NET FRAMEWORK V2.0


怎么使用此SDK?
1、下载项目源码编译项目取得DLL库文件或已编译的DLL库文件,将DLL库文件引用到你的项目中。
2、取得你的腾讯社区开发平台的oauthconsumerkey (对应Qzone的appid)和oauthconsumersecret (对应Qzone的appkey),如果没有请自行前去腾讯社区开放平台申请。
3、根据oauthconsumerkey 与oauthconsumersecret实例化QzoneSDK.Context.QzoneContext和QzoneSDK.Qzone对象,并进入OAuth授权进程,最终取得Access Token值。
4、QzoneSDK.Qzone根据Access Token调用接口即可。

示例代码如下:

string key = ConfigurationManager.AppSettings["ConsumerKey"];//配置在web.config就是自己申请的key值

string secret = ConfigurationManager.AppSettings["ConsumerSecret"];/配置在web.config就是自己申请的Secret值

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

//Get a Request Token

var callbackUrl = ConfigurationManager.AppSettings["callbackUrl"]; //"/qzone/account/QQCallback.aspx";

var requestToken = context.GetRequestToken(callbackUrl);

//request token, request token secret 需要保存起来

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

Session["requesttokenkey"] = requestToken.TokenKey;

Session["requesttokensecret"] = requestToken.TokenSecret;

var authenticationUrl = context.GetAuthorizationUrl(requestToken, callbackUrl);

Response.Redirect(authenticationUrl);

用户在腾讯社区开放平台上授权使用后会导向到你的网站,也就是上图的第三步,在门上述的callback 的页面上就可以获取上图第四步的参数,利用上述获得的参数调用QzoneSDK.Qzone进行第五步调用,就可以获得AccessToken,这个AccessToken,目前access_token(及其secret)是长期有效的,和某一个openid对应,目前可以支持线下获取该openid的信息。

if (Request.QueryString["oauth_vericode"] != null)

{

var requestTokenKey = Session["requesttokenkey"].ToString();

var requestTokenSecret = Session["requesttokensecret"].ToString();

var verifier = Request.QueryString["oauth_vericode"];

string key = ConfigurationManager.AppSettings["ConsumerKey"];

string secret = ConfigurationManager.AppSettings["ConsumerSecret"];

QzoneSDK.Qzone qzone = new QzoneSDK.Qzone(key, secret, requestTokenKey, requestTokenSecret, verifier);

//这里需要将qzone.OAuthTokenKey, qzone.OAuthTokenSecret, qzone.OpenID 存储起来用于后面的API的访问

QzoneSDK.Qzone qzone2 = new QzoneSDK.Qzone(key, secret, qzone.OAuthTokenKey, qzone.OAuthTokenSecret, string.Empty, true, qzone.OpenID);

Session["qzonesdk"] = qzone2;

qzone2 = Session["qzonesdk"] as QzoneSDK.Qzone;

var currentUser = qzone2.GetCurrentUser();

var user = (BasicProfile)JsonConvert.Import(typeof(BasicProfile), currentUser);

if (null != user)

{

this.Nickname.Text = user.Nickname;

this.Figureurl.Text = user.Figureurl;

}

}

URL: http://qqconnect.codeplex.com

SVN: https://qqconnect.svn.codeplex.com/svn

Demo: http://www.dotnetting.cn/qzone/Account/Login.aspx

一个第三方登录弄明白,其他的网易,人人,新浪流程都是一样的,加油吧!少年...


代码转载自:https://pan.quark.cn/s/7f503284aed9 Hibernate的核心组件总数达到五个,具体包括:SessionSessionFactory、Transaction、Query以及Configuration。 这五个核心组件在各类开发项目中都具有普遍的应用性。 借助这些组件,不仅可以高效地进行持久化对象的读取与存储,还能够实现事务管理功能。 接下来将通过图形化的方式,逐一阐述这五个核心组件的具体细节。 依据所提供的文件内容,可以总结出以下几个关键知识点:### 1. SSH框架详细架构图尽管标题提及“SSH框架详细架构图”,但在描述部分并未直接呈现关于SSH的详细内容,而是转向介绍了Hibernate的核心接口。 然而,在此我们可以简要概述SSH框架(涵盖Spring、Struts、Hibernate)的核心理念及其在Java开发中的具体作用。 #### Spring框架- **定义**:Spring框架是一个开源架构,其设计目标在于简化企业级应用的开发流程。 - **特点**: - **分层结构**:该框架允许开发者根据实际需求选择性地采纳部分组件,而非强制使用全部功能。 - **可复用性**:Spring框架支持创建可在不同开发环境中重复利用的业务逻辑和数据访问组件。 - **核心构成**: - **核心容器**:该部分包含了Spring框架的基础功能,其核心在于`BeanFactory`,该组件通过工厂模式运作,并借助控制反转(IoC)理念,将配置和依赖管理与具体的应用代码进行有效分离。 - **Spring上下文**:提供一个配置文件,其中整合了诸如JNDI、EJB、邮件服务、国际化支持等企业级服务。 - **Spring AO...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值