面试题答案
一键面试主要角色
- 资源拥有者:拥有受保护资源的用户。
- 客户端:请求访问受保护资源的应用程序。
- 授权服务器:负责验证资源拥有者身份并颁发访问令牌。
- 资源服务器:托管受保护资源,验证访问令牌以决定是否允许访问。
基本流程
- 客户端请求授权:客户端向授权服务器发起授权请求,引导资源拥有者进行授权。资源拥有者同意授权后,授权服务器返回授权码给客户端。
- 客户端换取令牌:客户端使用授权码向授权服务器请求访问令牌。授权服务器验证授权码等信息无误后,颁发访问令牌给客户端。
- Token Exchange(令牌交换):
- 发起交换请求:客户端向授权服务器发起令牌交换请求,携带已有的令牌(如初始访问令牌)及相关元数据(如请求的令牌类型、目标受众等)。
- 服务器验证:授权服务器验证请求的合法性,包括检查已有令牌的有效性、客户端权限等。
- 颁发新令牌:若验证通过,授权服务器颁发新的访问令牌给客户端。
- 访问资源:客户端使用新获取的访问令牌向资源服务器请求访问受保护资源。资源服务器验证令牌有效后,返回资源给客户端。