MST

星途 面试题库

面试题:安全认证之下OAuth设备授权流程中的关键交互环节

请阐述OAuth设备授权流程中设备码获取阶段和用户授权阶段,客户端、设备码服务器和授权服务器之间是如何进行交互的,各交互步骤传递的关键信息是什么?
24.5万 热度难度
后端开发安全认证

知识考点

AI 面试

面试题答案

一键面试

设备码获取阶段

  1. 客户端向设备码服务器请求设备码
    • 关键信息:客户端需要向设备码服务器发送请求,此请求可能包含客户端标识(如client_id),用于表明自身身份,以便设备码服务器识别该客户端是否被允许发起此类请求。
  2. 设备码服务器生成并返回设备码相关信息
    • 关键信息:设备码服务器生成设备码(device_code)、用户码(user_code)、验证网址(verification_uri)和过期时间(expires_in)。设备码用于设备后续向授权服务器证明身份,用户码是供用户在验证网址上输入以完成授权的短码,验证网址是用户进行授权操作的网页地址,过期时间表示设备码和用户码的有效时长。

用户授权阶段

  1. 用户在验证网址输入用户码
    • 关键信息:用户在浏览器中访问验证网址,并输入接收到的用户码,此操作将请求发送到授权服务器。
  2. 授权服务器验证用户码并向用户请求授权
    • 关键信息:授权服务器验证用户码的有效性,确认无误后向用户展示授权页面,询问用户是否授权该客户端访问相关资源,展示的信息可能包括客户端的名称、请求访问的资源范围等。
  3. 用户授权后,授权服务器返回授权结果
    • 关键信息:若用户同意授权,授权服务器生成授权码(authorization_code)并返回给设备(通过设备码识别设备)。若用户拒绝授权,则返回相应的拒绝信息。
  4. 设备使用设备码和授权码向授权服务器请求访问令牌
    • 关键信息:设备将设备码和接收到的授权码发送给授权服务器,授权服务器验证设备码和授权码的有效性,验证通过后,生成访问令牌(access_token)、刷新令牌(refresh_token,可选)等信息并返回给设备,设备使用访问令牌即可访问受保护资源。