MSAL 访问令牌无效签名

Ben*_*way 5 azure-ad-b2c azure-ad-msal

我正在使用 MSAL 来获取访问令牌。它工作正常,我能够登录并检索我的 Active Directory 用户。

但是,当我在使用它访问 API 时遇到问题时,我注意到当我在https://jwt.io/检查令牌时,它显示无效签名。

这是一个问题吗?如果是这样,我该如何解决?

Chr*_*ett 7

不,这不是一个大问题,因为 JWT.io 没有公钥,但您可以通过以下方式验证令牌签名:

  1. 从 Azure AD B2C 中的“密钥”终结点复制公钥。
  2. 将此公钥从 JSON Web Key (JWK) 格式转换为 PEM 格式。
  3. 将公钥粘贴到 JWT.io 中的“验证签名”字段。

关键端点是:

https://login.microsoftonline.com/te/{tenant}/{policy}/discovery/v2.0/keys
Run Code Online (Sandbox Code Playgroud)

公钥可以从JWK格式到PEM格式使用工具被转换,如jwt-to-pem

  • jwt.ms 执行与 .io 相同的解码,但还执行 AAD 和 AAD B2C 令牌的验证 (2认同)