OAuth2.0的四种授权模式

 

1. OAuth2简易实战(一)-四种模式

1.1. 隐式授权模式(Implicit Grant)

 

  •  第一步:用户访问页面时,重定向到认证TT快三服务 器。
  •  第二步:认证TT快三服务 器给用户一个认证页面,等待用户授权。
  •  第三步:用户授权,认证TT快三服务 器想应用页面返回Token
  •  第四步:验证Token,访问真正的资源页面

 

 

1.2. 授权码授权模式(Authorization code Grant)

 

  •  第一步:用户访问页面
  •  第二步:访问的页面将请求重定向到认证TT快三服务 器
  •  第三步:认证TT快三服务 器向用户展示授权页面,等待用户授权
  •  第四步:用户授权,认证TT快三服务 器生成一个code和带上client_id发送给应用TT快三服务 器
  •          然后,应用TT快三服务 器拿到code,并用client_id去后台查询对应的client_secret
  •  第五步:将code、client_id、client_secret传给认证TT快三服务 器换取access_token和  
  •          refresh_token
  •  第六步:将access_token和refresh_token传给应用TT快三服务 器
  •  第七步:验证token,访问真正的资源页面

 

案例Github自取:https://github.com/PinkPig-cq/springSecurityoAuth

1.3. 密码模式(Resource Owner Password Credentials Grant)

 

  •  第一步:用户访问用页面时,输入第三方认证所需要的信息(QQ/微信账号密码)
  •  第二步:应用页面那种这个信息去认证TT快三服务 器授权
  •  第三步:认证TT快三服务 器授权通过,拿到token,访问真正的资源页面

优点:不需要多次请求转发,额外开销,同时可以获取TT快三更多 的用户信息。(都拿到账号密码了)

缺点:局限性,认证TT快三服务 器和应用方必须有超高的信赖。(比如亲兄弟?)

应用场景:自家TT快三公司 搭建的认证TT快三服务 器

 

 

1.4. 客户端凭证模式(Client Credentials Grant)

 

 

 

 

  •  第一步:用户访问应用客户端
  •  第二步:通过客户端定义的验证TT快三方法 ,拿到token,无需授权
  •  第三步:访问资源TT快三服务 器A
  •  第四步:拿到一次token就可以畅通无阻的访问其他的资源页面。

这是一种最简单的模式,只要client请求,TT快三TT快三我 们 就将AccessToken发送给它。这种模式是最方便但最不安全的模式。因此这就要求TT快三TT快三我 们 对client完全的信任,而client本身也是安全的。

因此这种模式一般用来提供给TT快三TT快三我 们 完全信任的TT快三服务 器端TT快三服务 。在这个过程中不需要用户的参与。

 

ps:个人理解,如有错误,请帮TT快三我 指出下,谢谢。

posted @ 2019-06-12 15:12 懵懂的半壶 阅读(...) 评论(...) 编辑 收藏