OAuth授权相关
OAuth协议是用于授权的开放标准。目前有两个版本1.0与2.0,后一个版本并不兼容前面的版本,而是考虑了客户端程序开发的简洁性。
授权的参与者有三方,一般称作Service Provider, Consumer, User。通常的情形是,User想访问Consumer的资源,而又对其不信任,可以用信任方Service Provider的用户名与密码登录。比如有用户想通过微博账号使用cnblogs,微博是Service Provider,cnblogs是Consumer,而用户是User。协议的内容规定了Consumer通过怎样的方式能够取得Service Provider与用户的授权,从而提供服务并且获得用户在Service Provider中的部分受保护信息。
协议的工作方式网上有很多博文都在说,本文就不罗嗦了,罗列一些个人觉得写得较好的,方便参考。
先从一个具体的例子入手,比如个人网站如何获得微博的授权,可先看下面的这篇博文:新浪微博OAuth授权的Java实现。这篇博文是用OAuth1.0做的例子,可以简单看,现在新浪微博也开始用2.0授权了。具体到新浪微博的授权机制,可以阅读:授权机制说明。这个页面里相关文档很详细,不在赘述。
另外一个例子是Google授权的例子,请看博文:基于OAuth安全协议的Java应用编程。Google的授权相关内容,可以阅读:Using OAuth 2.0 to Access Google APIs。