最近接触了OAuth协议,挺有意思的。
OAuth协议的根本目的是为了安全。即第三方不需要获取用户的用户名和密码就可以申请获得该用户资源的授权。
OAuth有三大特点:
1、安全。显而易见——不需用户名和密码就可以获得服务。
2、开放。所有的OAuth服务提供商和应用开发者都可以自由使用。
3、简易。容易理解和使用。
说说OAuth的工作原理,自己理解的。
这里有两个服务,服务A和服务B。应用程序编写者想使用服务B,但是服务B必须要获得服务A中用户的资源才使得服务B有价值。于是乎,开始服务B和服务A开始了交涉。
1、B向A请求未授权的Request Token
1‘、A向B颁发未授权的oauth_token 和 oauth_token_secret
这一阶段用到了Request Token URL
2、B向A请求用户授权的Request Token
2‘、A引导用户登录进行授权,可能返回或者不返回(跟OAuth服务提供商有关)授权的Request Token
这一阶段用到了User Authorization URL
3、B向A请求Access Token。用授权的Request Token换取Access Token。
3‘、A同意B的请求,向B颁发Access Token 和 密钥。
这一阶段用到了Access Token URL
4、B使用Access Token访问用户授权的资源。