获取 access_token 的方式
- 授权码模式(Authorization Code):先用账号密码登录获取 code ;然后使用 code 获取 access_token ;
- 简化模式(也叫隐式授权)(Implicit): 使用账号密码直接在浏览器通过重定向获取 access_token ;
- 密码模式(Resource Owner Password Credentials): Client 直接使用账号密码获取 access_token ;
- 客户端模式(Client Credentials): 直接生成 access_token ;一般用于机器之间;
access_token 是颁发给人还是机器
- 颁发给人,跟用户关联: 授权码模式、密码模式、简化模式;
- 颁发给机器,跟用户无关: 客户端模式;
是否有 refresh_token
- 有 refresh_token : 授权码模式、密码模式 ;
- 无 refresh_token : 简化模式、客户端模式;
给第三方还是自己使用
- 给第三方: 授权码模式 ;
- 给自己: 密码模式、简化模式、客户端模式;
如何选择
简单画个流程图来:
閱讀更多 三木益達 的文章