仅验证从 Azure B2C AD 生成的 JWT 令牌的签名 [重复]
Posted
技术标签:
【中文标题】仅验证从 Azure B2C AD 生成的 JWT 令牌的签名 [重复]【英文标题】:Validate only the signature of JWT token generated from Azure B2C AD [duplicate] 【发布时间】:2018-12-25 00:34:12 【问题描述】:我只想验证使用Azure B2C AD
登录后收到的令牌的签名。
网络中显示的示例,使用秘密或密钥参数,如果Azure B2C AD
生成令牌,我不确定从哪里可以得到它们。
如果可能的话,我怎样才能只实现签名验证而不对Audience
等进行更多验证?
EDIT 它使用"alg": "RS256"
【问题讨论】:
看看这个问题:***.com/questions/59840170/…我找到的最好的一个 【参考方案1】:Microsoft 拥有 an example application,它使用 AAD IdentityModel Extensions for .Net 中的 System.IdentityModel.Tokens.Jwt
来验证 JWT 令牌,包括签名。 Here is the code that does the actual validation,它利用了JwtSecurityTokenHandler
。我想如果你只想去掉签名验证码,你可以从the ValidateToken or ValidateSignature methods in the source code 中提取它。
【讨论】:
这些方法所期望的关键参数是什么,我究竟应该提供什么。我查看了这个端点login.microsoftonline.com/fabrikamb2c.onmicrosoft.com/discovery/…,但我仍然感到困惑。 这都使用 OpenID Connect 协议。如果你对它的工作原理感兴趣,you can find a ton of stuff online。 This article 有一个关于使用来自知名 OIDC 端点的密钥验证 OpenID Connect 签名的特定部分 找到了这个***.com/a/41041219/4990859,它成功了。完成了。以上是关于仅验证从 Azure B2C AD 生成的 JWT 令牌的签名 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Asp.net Core 中的查询字符串验证 Azure AD B2C 令牌?
Azure AD B2C 错误 - IDX10501:签名验证失败
如何在 Web API 中验证 Azure B2C JWT 令牌?