您在此处:
API(启用 OAuth 设置):授权代码和凭据流设置
此控件配置“授权代码和凭据流”的特定安全要求。
控件名称
连接的应用程序:API(启用 OAuth 设置):授权代码和凭据流设置
推荐配置
启用授权代码和凭据流。
不需要或取消选择需要 Web 服务器流的密码和需要刷新令牌流的密码。
控制概览
此控制配置“授权代码和凭据流”的特定安全要求,并根据应用程序是“专用客户端”(服务器端)还是“公共客户端”(浏览器/移动设备)确定是否必须验证客户端密码。
安全风险(如果未配置)
错误地要求公共客户端提供密码会强制将凭据硬编码到前端代码中,这样凭据很容易被盗,而不要求专用客户端提供密码会使攻击者在不需要应用程序的私钥的情况下交换拦截的代码。
威胁场景
攻击者反编译移动应用程序以提取硬编码客户端密码,或从服务器端应用程序拦截授权代码,并成功将其交换为高权限访问令牌,因为交换不需要密码。
估计的 CVSS 得分范围
关键 (9.0–10.0)。
风险影响注意事项
配置错误会导致客户端凭据受损或启用未经授权的会话劫持,这两种情况都会导致对敏感数据的持久、未经身份验证的访问。
高风险
当流用于缺少 PKCE(代码交换证明密钥)作为辅助防御的高权限集成时,或者当密码存储在纯文本客户端存储库中时。
低风险
当“专用客户端”严格执行存储在安全服务器端保管库中的密码,而“公共客户端”使用 PKCE 来保护交换,而无需易受攻击的共享密码。
业务和集成注意事项
正确实施这需要后端驱动和前端驱动应用程序之间的明确架构区分,以确保应用适当的“秘密”策略而不破坏身份验证握手。
建议的补救措施
对于专用/服务器端客户端,同时选择“需要 Web 服务器流的密码”和“需要刷新令牌流的密码”;对于公共/移动客户端,取消选择这些选项,并实施 PKCE。
安全健康审查指导
安全运行状况审查强调,密码的安全性完全取决于客户端保护密码的能力,并要求不得将共享密码暴露给浏览器或移动环境。

