oauth2.0和oauth1.0的区别
oauth2.0充分考虑了客户端的各种子态,因而提供了多种途径获取访问令牌,有:授权码、
客户端私有证书、资源拥有者密码证书、刷新令牌等方式,而且验证过程更为简洁。
oauth1.0只有一个用户授权流程。
oauth2.0的四种授权方式
- 授权码
- 用户选择授权码登录(发送请求时携带client_id和client_secret)
- 用户同意授权之后第三方平台返回一个授权码
- 客户端获取授权码向认证服务器申请令牌,如果授权码是正确的则给客户颁发令牌
- 客户端获取令牌后可以访问第三方平台以获取用户基本信息
- 资源服务器校验令牌合法性,如果合法则向用户响应资源信息内容
- 隐藏式
- 有一些web应用没有后端,跳过授权码直接申请令牌,认证服务器能通过就返回令牌
- 密码式
- 密码登录,使用账号密码以及client_id和client_secret向认证服务器申请令牌
- 认证通过返回令牌
- 客户端凭证(没有前端的命令行应用)
- 直接使用client_id和client_secret获取令牌