OAuth2学习笔记

目前不少开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行受权的问题,OAuth就是干这个的,OAuth2是OAuth协议的下一个版本,相比OAuth1,OAuth2整个受权流程更简单安全了,但不兼容OAuth1,具体能够到OAuth2官网http://oauth.net/2/查看,OAuth2协议规范能够参考http://tools.ietf.org/html/rfc6749。目前有好多参考实现供选择,能够到其官网查看下载。html

本文使用Apache Oltu,其以前的名字叫Apache Amber ,是Java版的参考实现。使用文档可参考https://cwiki.apache.org/confluence/display/OLTU/Documentationapache

OAuth角色安全

资源拥有者(resource owner:能受权访问受保护资源的一个实体,能够是一我的,那咱们称之为最终用户;如新浪微博用户zhangsan;服务器

资源服务器(resource server:存储受保护资源,客户端经过access token请求资源,资源服务器响应受保护资源给客户端;存储着用户zhangsan的微博等信息。.net

受权服务器(authorization server:成功验证资源拥有者并获取受权以后,受权服务器颁发受权令牌(Access Token)给客户端。server

客户端(client:如新浪微博客户端weico、微格等第三方应用,也能够是它本身的官方应用;其自己不存储资源,而是资源拥有者受权经过后,使用它的受权(受权令牌)访问受保护资源,而后客户端把相应的数据展现出来/提交到服务器。“客户端”术语不表明任何特定实现(如应用运行在一台服务器、桌面、手机或其余设备)。 htm


一、客户端从资源拥有者那请求受权。受权请求能够直接发给资源拥有者,或间接的经过受权服务器这种中介,后者更可取。token

二、客户端收到一个受权许可,表明资源服务器提供的受权。接口

三、客户端使用它本身的私有证书及受权许可到受权服务器验证。资源

四、若是验证成功,则下发一个访问令牌。

五、客户端使用访问令牌向资源服务器请求受保护资源。

六、资源服务器会验证访问令牌的有效性,若是成功则下发受保护资源。

更多流程的解释请参考OAuth2的协议规范http://tools.ietf.org/html/rfc6749

相关文章
相关标签/搜索