面试题答案
一键面试基本流程
- 用户发起撤销请求:用户向资源所有者(通常是用户使用的应用程序界面)表达想要撤销某个客户端应用对其资源访问权限的意愿。
- 资源所有者处理请求:资源所有者接收到用户的撤销请求后,向授权服务器发送撤销授权的请求。该请求通常包含客户端标识(client_id)、用户标识(通常通过认证会话获取)以及要撤销的授权相关信息(如授权码、访问令牌等)。
- 授权服务器验证与处理:授权服务器接收到资源所有者的撤销请求后,验证请求的合法性,包括检查请求中的各项参数是否正确、资源所有者是否有权限进行此操作等。验证通过后,授权服务器撤销对应的授权信息,比如删除存储的授权码与访问令牌的关联关系,使相应的访问令牌失效。
- 反馈结果:授权服务器将撤销操作的结果反馈给资源所有者,资源所有者再将结果告知用户,完成整个授权撤销流程。
主要实体及其作用
- 资源所有者:
- 作用:资源的拥有者,一般为用户。用户能够发起授权撤销请求,决定是否终止某个客户端应用对其资源的访问权限。同时负责将用户的撤销意愿传达给授权服务器,并将授权服务器的处理结果反馈给用户。
- 授权服务器:
- 作用:负责处理授权相关事务,包括验证授权撤销请求的合法性,管理授权信息(如授权码、访问令牌等)。在接收到合法的撤销请求后,执行撤销操作,确保被撤销授权的客户端应用无法再凭借已撤销的凭证访问资源所有者的资源。
- 客户端应用:
- 作用:在授权撤销流程中,虽然客户端应用通常不直接参与撤销请求的发起与处理,但它是授权撤销的对象。一旦授权被撤销,该客户端应用将无法再使用之前获取的授权凭证(如访问令牌)访问资源所有者的受保护资源。