首先,从高维度看,OAuth 是要解决什么问题?
OAuth 要解决的是客户端在不知道和不使用用户密码的情况下,怎么样安全访问并获取用户所拥有的资源的问题。
顺带说一句,经常和 OAuth 一起谈到的 OIDC 则是解决了用户信息(profile)获取的问题。简单说,OAuth 解决了 Authorization 的问题,OIDC 解决了 Authentication 的问题。
OAuth 有几种角色:
- Resource Owner:资源的拥有者,比方说终端用户;
- Resource Server:资源服务器,比如用户想要调用的 API;
- Client:就是用户来进行鉴权和资源操作的客户端,比方说浏览器
[……]阅读全文