OAuth 常用协议
英文版:
An open protocol to allow secure authorization in a simple and standard method from web, mobile, and desktop applications.
中文版:
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。
简单来说就是确认你是实际用户(是真人),还是软件客户端(软件/机器)。所以在中间加了一个第三者叫授权层,增加了一些验证区分一下。大致原理如下,协议过程不用细看,跟其他上网协议差不多。
原来 : 你 <------>服务器
现在: 你/软件客户端 <------>授权层 <------>服务器
你/软件客户端 之间要做授权,因为你才是主人,又出了一下四个授权方式。其实我觉得不用记,会用就行了啊。例子就是常用的桌面/手机软件的登录方式。
- 授权码模式:通过客户端的后台服务器,与"服务提供商"的认证服务器进行互动。
- 简化模式:所有步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。
- 密码模式:类人模式,用户必须把自己的密码给客户端,但是客户端不得储存密码。一般别这样,不然被黑了就是一锅端。
- 客户端模式:用户在客户端登录,后续就是客户端跟服务器交互,其实不太算授权。
集中常用的网站API
- 推特 https://www.py4e.com/html3/13-web
- weibo http://open.weibo.com/wiki/%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97
//www.greatytc.com/p/2d7fd22462b3
参考资料
- py4e课程
- OAuth官网:www.oauth.net.
- 阮一峰- 理解OAuth 2.0
- 我肯定是没有看RFC啊,过一次标题知道在这里找就行啦 http://www.rfcreader.com/#rfc6749
2018.5.9