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

Azure access_token签名验证:公钥处理、密钥需求及基础算法咨询

验证Azure AD Access Token的常见问题解答

1. 公钥预处理与验证工具说明

你通过https://login.microsoftonline.com/{{tenantid}}/discovery/keys?appid={{app-id}}获取的x5c字段是正确的公钥来源,但直接使用原始base64字符串会导致验证失败,必须转换成PEM格式:

  • 提取x5c数组的第一个元素(这是直接用于签名验证的证书)
  • 将长串base64按每64字符换行分割
  • 在首尾分别添加-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----

转换后的示例格式:

-----BEGIN CERTIFICATE-----
MIIC5zCCAc+gAwIBAgIQabcdef...(省略中间内容)
...xyz123
-----END CERTIFICATE-----

另外注意:jwt-decode仅负责解析令牌的明文内容,不执行签名验证。要完成完整的令牌合法性校验,需使用支持JWT验证的库(如Node.js的jsonwebtoken、Python的PyJWT),调用其verify类方法并传入处理好的公钥。

2. 签名验证的密钥要求

验证Access Token的签名仅需公钥,私钥由Azure AD独家持有,用于生成令牌签名,验证方无需获取或持有私钥。

3. 基础签名算法

Azure AD默认采用**RS256(RSA-SHA256)**作为Access Token的签名算法,属于非对称加密体系:

  • Azure AD使用私钥对令牌进行签名
  • 验证方通过对应的公钥验证签名的真实性和完整性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 22:57:35