IdToken 未使用 AzureAD 签名

Posted

技术标签:

【中文标题】IdToken 未使用 AzureAD 签名【英文标题】:IdToken not signed with AzureAD 【发布时间】:2016-04-17 11:59:40 【问题描述】:

我正在使用 Azure AD Connect 通过 OpenId Connect 进行身份验证和许可。

我不明白为什么我会收到来自 Azure 的 JWT IdToken without 签名和 AccessToken with 签名。这可能是由于为 IdToken 设置了“alg=none”属性。但是为什么不也签署 IdToken 呢?

【问题讨论】:

【参考方案1】:

是否直接从 Azure 的令牌端点获取 ID 令牌?如果是这样,则通信是安全的,并且主机通过 TLS/HTTPS 进行身份验证,因此无需签名或完整性保护 ID 令牌,这仅适用于您(您的客户端)。

【讨论】:

所以如果我理解只有 AccessToken 被签名,因为它可以传递给另一个应该能够检查令牌内容完整性的应用程序。对吗? Steven,您在与本地客户合作吗?在服务的下一次更新中,公共客户端的 id_tokens 也将被签名。对于机密客户端,所有 id_tokens 都应该已经签名(尽管 Brian 说的是准确的,当然 - 当您从令牌端点获取令牌时,您不需要检查签名)

以上是关于IdToken 未使用 AzureAD 签名的主要内容,如果未能解决你的问题,请参考以下文章

使用 Xamarin Forms 使用自签名证书对 Azure AD 进行身份验证

如何解决 Nodejs google-auth-library 无效令牌签名错误?

ASP.net Core 2.0 AzureAd Bearer JWT-Token Auth 在验证签名时不会失败

验证 Azure AD 令牌签名失败 JAVA

Azure AD - 为啥我无法验证 Azure AD 为我的 Web API 颁发的 JWT 令牌?收到“IDX10516:签名验证失败”错误

无法验证从 Azure AD 获得的访问令牌签名以保护 Web API