某网站允许用户使用第三方账号登录。用户在授权服务器完成登录和授权后,网站先拿到一个授权码,再由后端服务用授权码换取访问令牌。这样设计的主要目的之一是()。
OAuth2 授权码模式常用于第三方授权场景。用户在授权服务器完成登录,第三方应用通常不直接获取用户密码;授权服务器返回授权码后,应用后端再用授权码、客户端凭据等去交换访问令牌。这样可以减少密码暴露面,也比把访问令牌直接暴露在浏览器地址栏或前端代码中更稳妥。
选项分析
正确。授权码模式能降低用户密码和访问令牌在前端暴露的风险。
错误。OAuth2 的重要价值之一正是避免第三方应用直接拿用户密码。
错误。访问令牌不应永久写在页面源代码里,否则容易泄露。
错误。授权服务器仍然承担认证和授权相关职责。
本题为什么容易错
这题容易把“第三方登录”理解成“把账号密码交给第三方网站”。正规授权流程不是这样。用户是在授权服务器完成登录,第三方应用拿到的是授权结果和令牌,而不是用户密码本身。
简短答案
OAuth2 授权码模式为什么更适合第三方登录授权,正确答案是 A(避免第三方应用直接接触用户密码,并把令牌交换放在更安全的后端通道中完成)。OAuth2 授权码模式常用于第三方授权场景。用户在授权服务器完成登录,第三方应用通常不直接获取用户密码;授权服务器返回授权码后,应用后端再用授权码、客户端凭据等去交换访问令牌。这样可以减少密码暴露面,也比把访问令牌直接暴露在浏览器地址栏或前端代码中更稳妥。
易混淆概念对比表
| 概念 | 本题判断 | 区别要点 | 记忆提示 |
|---|---|---|---|
| 避免第三方应用直接接触用户密码,并把令牌交换放在更安全的后端通道中完成 | 本题正确答案 | 正确。授权码模式能降低用户密码和访问令牌在前端暴露的风险。 | 看到题干核心场景时优先联想到它 |
| 让用户必须把密码明文发给每一个接入的网站 | 本题干扰项 | 错误。OAuth2 的重要价值之一正是避免第三方应用直接拿用户密码。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 把访问令牌永久写在页面源代码里 | 本题干扰项 | 错误。访问令牌不应永久写在页面源代码里,否则容易泄露。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 取消授权服务器的身份认证能力 | 本题干扰项 | 错误。授权服务器仍然承担认证和授权相关职责。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
本题易混淆选项怎么区分
- 让用户必须把密码明文发给每一个接入的网站:错误。OAuth2 的重要价值之一正是避免第三方应用直接拿用户密码。
- 把访问令牌永久写在页面源代码里:错误。访问令牌不应永久写在页面源代码里,否则容易泄露。
- 取消授权服务器的身份认证能力:错误。授权服务器仍然承担认证和授权相关职责。
知识点详解
OAuth2是信息安全工程师考试中需要结合场景理解的考点。围绕“OAuth2 授权码模式为什么更适合第三方登录授权”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“某网站允许用户使用第三方账号登录。用户在授权服务器完成登录和授权后,网站先拿到一个授权码,再由后端服务用授权码换取访问令牌。这样设计的主要目的之一是()”,它指向的核心答案是 A(避免第三方应用直接接触用户密码,并把令牌交换放在更安全的后端通道中完成)。
备考速记
备考速记:题干如果强调“访问令牌”中的关键目标,就先联想到 OAuth2;如果选项里出现 让用户必须把密码明文发给每一个接入的网站、把访问令牌永久写在页面源代码里、取消授权服务器的身份认证能力,不要只看名称熟悉,要判断它们是否真正对应题干场景。
OAuth2 在访问令牌场景中的作用
OAuth2在本题中的核心价值,是解决“某网站允许用户使用第三方账号登录。用户在授权服务器完成登录和授权后,网站先拿到一个授权码,再由后端服务用授权码换取访问令牌。这样设计的主要目的之一是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。
同类题怎么考
- 给出访问令牌场景,判断应该选择哪个概念、工具、协议或管理过程。
- 考查OAuth2的作用,要求从四个相近选项中找出最符合题干目标的一项。
- 把OAuth2和让用户必须把密码明文发给每一个接入的网站、把访问令牌永久写在页面源代码里、取消授权服务器的身份认证能力放在一起考,重点看适用场景是否一致。
- 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
OAuth2 在信息安全工程师软考中的考法
软考选择题通常不会只考概念定义,还会把OAuth2放到访问令牌场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。
解题思路
这题先看动作链:用户去授权服务器登录,网站拿到的先是授权码,不是用户密码;真正换令牌的动作放在后端。老师讲授权码模式时会提醒,code 像一张短时兑换券,不是最终通行证。
考点定位
OAuth2 题要抓三个角色:资源所有者、客户端、授权服务器。授权码模式的题眼是先拿 code,再由后端换 token;它不是把用户密码交给第三方应用。
易错提醒
- 把授权码当成长期访问令牌使用。
- 令牌交换放在前端暴露环境中,增加泄露风险。
- 没有校验 redirect_uri、state 等参数,留下重定向或 CSRF 风险。
备考提示
- 信息安全复习 Web 授权时,把 Cookie/Session、JWT、OAuth2、OpenID Connect 分开理解。
- 授权码模式记:先 code,后端换 token;不要把用户密码交给第三方。
- 如果后续刷题,可以把 OAuth2 和 JWT 连着练,一个偏授权流程,一个偏令牌表示和校验。
你可能还想了解
- OAuth2 授权码模式为什么更适合第三方登录授权?
- OAuth2是什么?
- OAuth2在信息安全工程师考试中怎么考?
- 信息安全工程师OAuth2题怎么理解?
- OAuth2授权码模式适合什么场景怎么考?
- 第三方登录为什么不用给密码怎么考?
本文小结
本题核心考点是OAuth2在访问令牌场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(避免第三方应用直接接触用户密码,并把令牌交换放在更安全的后端通道中完成)。