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

基于Azure的OAuth2与JWT应用:本地后端安全方案问询

方案可行性与校验要点

将JWT令牌从APIM传递至本地后端并二次校验是完全可行的方案,这是防护公网暴露后端的标准手段之一,能彻底解决用户绕过APIM直接访问后端的问题。

实操步骤简述

在APIM的入站策略中添加逻辑,将前端传入的JWT令牌(或APIM验证后的令牌)通过请求头传递给后端,例如:

<set-header name="X-Forwarded-JWT" exists-action="override">
  <value>@(context.Request.Headers.GetValueOrDefault("Authorization", "").TrimStart("Bearer ".ToCharArray()))</value>
</set-header>

也可直接复用Authorization头,确保后端能直接读取到完整的Bearer令牌。

后端校验JWT的核心信息

后端需要以下信息完成合法令牌的校验:

  • Azure AD公钥/OpenID配置端点:用于验证令牌签名的有效性。可通过AAD租户的OpenID配置端点(格式为https://login.microsoftonline.com/{你的租户ID}/v2.0/.well-known/openid-configuration)自动拉取最新公钥,也可直接下载公钥文件本地存储。
  • 租户ID:校验令牌的iss(签发者)声明,确保令牌来自你的目标AAD租户,避免外部租户的非法令牌被认可。
  • 客户端ID:校验令牌的aud(受众)或azp(授权方)声明,确保请求来自你预先授权的、通过APIM认证的客户端。
  • 令牌有效期规则:校验exp(过期时间)和nbf(生效时间)声明,拒绝已过期或未生效的令牌。

额外注意事项

  • 确保APIM的令牌验证策略严格执行,只有合法令牌才能进入后端转发流程,避免无效令牌被传递到后端。
  • 后端校验逻辑需处理公钥更新的情况(AAD会定期轮换公钥),使用OpenID配置端点自动拉取公钥是更可靠的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 19:40:04