OAuth的四种方式
- 授权码
- 隐藏式
- 密码式
- 客户端凭证
授权码
安全性最高,适用于有后端的Web应用。授权码通过前端传送,令牌是存储在后端,而且所有资源服务器的通信都在后端完成。前后端分离避免令牌泄露。
隐藏式
纯前端web应用必须将令牌存储在前端,允许直接向前端办法令牌,没有授权码这个中间步骤,所以称为授权码隐藏式
密码式
高度信任的应用,允许用户把用户名和密码直接告诉该应用。该应用使用密码申请令牌。
凭证式
适用于没有前端的命令行应用,在命令行下请求令牌
更新令牌
令牌过期重新申请新令牌,用户体验不好,而且没必要。OAuth2.0允许用户自动更新令牌。授权应用一次颁发两个令牌,一个用于获取数据(token),另一个用于获取新的令牌(refresh token)。令牌到期前,用户使用refresh token发起请求更新令牌。