You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ADFS服务器上通过OpenID Connect获取用户名及id_token验签安全问询

关于未校验HS256签名的ADFS id_token直接使用的安全性问题

首先纠正一个核心认知偏差:JWT的签名校验是接收方的核心安全责任,而非仅发行方的职责。发行方的职责是使用合规密钥对令牌签名,而接收方校验签名是为了确认令牌的发行方合法性、内容未被篡改,这是身份认证链路里不可缺失的一环。

  • 跳过签名校验会直接面临两类高危安全风险:
    1. 身份冒充风险:攻击者可以自行构造JWT结构,将unique_name字段修改为任意目标用户,甚至伪造权限、有效期等声明,你的服务如果直接读取未校验的令牌内容,会完全认可伪造的身份信息,导致用户越权、数据泄露等严重问题
    2. 篡改攻击风险:哪怕令牌最初是从ADFS合法获取的,如果令牌在传输、跨服务传递过程中被第三方拦截修改,未校验签名的情况下你完全无法感知内容被篡改
  • 针对你提到的不掌握HS256密钥的问题,有两种成熟的解决方案:
    1. 向ADFS管理员申请该环境下HS256签名所用的对称密钥,拿到密钥即可完成签名校验,不需要额外权限
    2. 要求ADFS侧将签名算法切换为RS256非对称算法,你直接从ADFS的公开JWKS端点获取公钥即可完成校验,不需要向管理员申请任何敏感密钥

特殊场景补充:如果你的使用场景仅为后台服务通过HTTPS直连ADFS的token endpoint获取令牌,且令牌全程不会流出你的信任服务器、也不会接收任何外部传入的id_token,这种极端场景下可临时跳过校验,但不符合OAuth2/OIDC安全规范,不建议长期使用。

内容的提问来源于stack exchange,提问作者Anaconda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:06:01