OAuth 2.0的机制原理讲解及开发流程[OAuth开发]

转:http://blog.unvs.cn/archives/oauth-qq2-0-developer.html

一段时间没写关于OAuth的文章了,近期都忙于学习mysql,今天抽点时间讲下OAuth2.0的机制原理,及开发qq oauth2.0认证登录的流程,闲话少说,直入主题。。。

1、OAuth认证的简述、原理
这部分,我在  OAuth 1.0的机制原理讲解及开发流程[QQ OAuth开发] 一文中已经讲的很详细了,在此就略了,详细请查看: 点击进入

2、OAuth2.0的认证流程
在OAuth2.0的处理流程,主要分为以下四个步骤:

1、得到授权码code
2、获取access token
3、通过access token,获取OpenID
4、通过access token及OpenID调用API,获取用户授权信息

 

上面是流程的大概四个步骤,在下面的流程示意图中会得到体现,这是我制作的一个幻灯片的流程图(文章最后会附上制作的OAuth幻灯片分享给大家),这里就直接截图下来进行讲解:


 
第一步:首先直接跳转至用户授权地址,即图示 Request User Url ,提示用户进行登录,并给予相关资源授权,得到唯一的Auth code,这里注意的是code只有10分钟的有效期,对于安全考虑,相对于OAuth1.0省了一步获取临时的Token,并且有效期也进行了控制,比1.0认证简化了很多,并安全一些;
第二步:得到授权code后,这一步就是请求access token,通过 图示 Request access url ,生成得到数据Token;
第三步:通过Access Token请求OpenID,openid是用户在此平台的唯一标识,通过 图示 Request info url 请求,然后得到OpenID;
第四步:通过第二步得到的数据Token、第三步得到的OpenID及相关API,进行请求,获取用户授权资源信息。(我喜欢简洁明了,OAuth2.0认证流程就是这样,相信通过图示及讲解都能明白,若有不明白之处请留言)

3、QQ OAuth2.0认证中Url的调用及参数的传递
下节将会讲解oauth2.0认证中url的请求、参数的传递,会以新浪最新的oauth2.0来进行实例讲解(要知道一开始写OAuth文章时,新浪用的还不是oauth2.0机制),敬请关注。。。

好了,这节就讲这么多,如果有什么不理解,或没说到的地方、错误的地方,都可提出来,共同学习,一起进步。。。

最后,分享自己关于OAuth1.0、2.0认证流程讲解的幻灯片,结合文章来看,你会更容易理解:
课件分享:点击下载 (麻烦保留博主信息,谢谢)

OAuth开发专栏_Demo统一演示地址:http://www.unvs.cn/oauth/
OAuth开发专栏_新浪登录授权页 测试地址:http://www.unvs.cn/api/sina/

 

OAuth2.0微信的认证将后两步集成到一块,具体见:http://my.oschina.net/superkangning/blog/336169

posted @ 2015-04-15 16:16  灬后知后觉  阅读(674)  评论(0编辑  收藏  举报