oauth2.0和oauth1.0的区别

oauth2.0充分考虑了客户端的各种子态,因而提供了多种途径获取访问令牌,有:授权码、
客户端私有证书、资源拥有者密码证书、刷新令牌等方式,而且验证过程更为简洁。

oauth1.0只有一个用户授权流程。

oauth2.0的四种授权方式

  1. 授权码
    1. 用户选择授权码登录(发送请求时携带client_id和client_secret)
    2. 用户同意授权之后第三方平台返回一个授权码
    3. 客户端获取授权码向认证服务器申请令牌,如果授权码是正确的则给客户颁发令牌
    4. 客户端获取令牌后可以访问第三方平台以获取用户基本信息
    5. 资源服务器校验令牌合法性,如果合法则向用户响应资源信息内容
  2. 隐藏式
    1. 有一些web应用没有后端,跳过授权码直接申请令牌,认证服务器能通过就返回令牌
  3. 密码式
    1. 密码登录,使用账号密码以及client_id和client_secret向认证服务器申请令牌
    2. 认证通过返回令牌
  4. 客户端凭证(没有前端的命令行应用)
    1. 直接使用client_id和client_secret获取令牌

项目中oauth2逻辑