MST
星途 面试题库

面试题:安全认证之OAuth授权码轮换机制 - 基础原理

请简要阐述OAuth授权码轮换机制的基本工作流程,包括涉及到的主要角色以及他们之间的交互步骤。
20.9万 热度难度
后端开发安全认证

知识考点

AI 面试

面试题答案

一键面试

主要角色

  1. 资源所有者(Resource Owner):拥有受保护资源的用户。
  2. 客户端(Client):想要访问资源所有者受保护资源的应用程序。
  3. 授权服务器(Authorization Server):负责验证资源所有者的身份,并颁发授权码和访问令牌。
  4. 资源服务器(Resource Server):托管受保护资源,验证访问令牌并提供资源访问。

基本工作流程及交互步骤

  1. 客户端请求授权
    • 客户端将资源所有者重定向到授权服务器的授权端点,请求授权码。请求中包含客户端ID、重定向URI、范围等信息。
  2. 授权服务器验证并询问资源所有者
    • 授权服务器验证客户端的合法性,并对资源所有者进行身份验证。
    • 然后向资源所有者展示授权请求,询问是否授权客户端访问其资源。
  3. 资源所有者授权
    • 如果资源所有者同意授权,授权服务器将重定向回客户端指定的重定向URI,并在URL中包含授权码。
  4. 客户端换取访问令牌
    • 客户端使用授权码向授权服务器的令牌端点发送请求,换取访问令牌。请求中包含授权码、客户端ID、客户端密钥(若有)和重定向URI。
    • 授权服务器验证授权码的有效性以及其他请求参数,验证通过后,向客户端颁发访问令牌,有时还可能包含刷新令牌。
  5. 客户端访问资源
    • 客户端使用访问令牌向资源服务器发送请求,访问受保护资源。
    • 资源服务器验证访问令牌的有效性,验证通过后,向客户端返回请求的资源。
  6. 访问令牌过期及刷新(涉及授权码轮换机制部分)
    • 当访问令牌过期后,客户端使用刷新令牌向授权服务器的令牌端点请求新的访问令牌。
    • 授权服务器验证刷新令牌的有效性,验证通过后,生成新的访问令牌(可能还会生成新的刷新令牌,实现授权码轮换)并返回给客户端。
    • 客户端使用新的访问令牌继续访问资源服务器的受保护资源。