先简单介绍下 OAuth2,再用一个例子说明下为什么要用 code 换 token
OAuth2 简单介绍
4 个角色
resource owner
可以授权访问被保护资源的实体,如果是人的话,即是最终用户
resource server
存储被保护资源的服务器,使用 access token 可以访问受保护的资源
client
经由 resource owner(即用户) 授权,访问受保护资源的应用程序
authorization server
认证 resource owner(即用户) 并获取其授权后发放 access token 的服务器
交互流程
比较抽象的流程图
OAuth2 交互流程
说明
client 向 resource owner 请求授权。client 可以直接向 resource owner 申请授权(如图),但更好的做法是经由 authorization server 中