Oauth是一个关于授权的开放网络标准,Oauth2是其2.0版本。
我们最常见的授权模式是用户名/密码授权。网站通过这组信息证明“你是你”。那么如果你想其他人和你共享权限呢?直接告诉他用户名和密码你肯定是不愿意的,所以就产生了授权。
授权解决的核心问题是让第三方能够在一定时间、一定范围内共享你的权限。使用的方式就是令牌(token)。
所以授权的关键是如何给他发放令牌(token)。
授权的维度:
- 时间:有效期是多久
- 范围:能够访问哪些资源
参与的对象:
- 资源所有者:我
- 客户端:他人
- 平台:平台
Oauth2的四种授权方式:
- 授权码
- 隐藏式
- 密码式
- 客户端凭证
第三方应用在申请令牌前,需要先进行备案,获取app_id和app_secret。
对于开放平台的这个应用场景来说,oauth2主要是提供了更精细的权限控制,因为资源所有者和客户端上均来自开发者。