【发布时间】:2021-01-04 13:46:26
【问题描述】:
我正在使用 Microsoft Graph API 和 Microsoft 身份验证库 (MSAL) 来获取访问令牌,并且我可以成功检索访问令牌、id 令牌和刷新令牌。我还可以成功验证 id 令牌。但是,我不能对 访问令牌 做同样的事情,因为我收到了这个错误:
raise InvalidSignatureError('Signature verification failed')
jwt.exceptions.InvalidSignatureError: Signature verification failed
我已尽我所能查看了有关验证的 Microsoft 文档: Microsoft identity platform access tokens
对于验证,我可以使用 jwt.ms 站点成功解码以进行 jwt 验证。所以我知道代币是好的。我可以从解码声明中看到并提取 aud(受众)和 iss(发行者)。这些值与 id 令牌不同(我可以成功验证)。
我正在使用以下 url 中记录的公钥:
https://login.microsoftonline.com/<TENANT ID>/discovery/keys
那么,我在验证访问令牌方面缺少什么? (如果我可以毫无问题地验证 id 令牌)。我还能如何解决这个问题?
【问题讨论】:
标签: azure azure-active-directory microsoft-graph-api access-token