繁体   English   中英

如何使用 C# 和 .net 验证 MS Azure AD 生成的 JWT id_token?

[英]How to verify JWT id_token produced by MS Azure AD with C# and .net?

我看过标题类似的关于 Angular JS 的帖子,但我一直在寻找 C#/.net 代码示例,说明如何执行这个大概是常见的任务。

我发现很多文章都在谈论它必须完成的事实,但没有简单明了的“这是使用 C# 和 .net 验证从 Azure B2C 返回的 id_token 的方法”

有没有人知道这样一段代码?

验证 id_token 类似于验证访问令牌的第一步 - 您的客户端应该验证正确的颁发者已发回令牌并且它没有被篡改。 由于 id_tokens 始终是 JWT,因此存在许多用于验证这些令牌的库 - 我们建议您使用其中之一,而不是自己进行。

要手动验证令牌,请参阅验证访问令牌中的步骤详细信息 验证令牌上的签名后,应在 id_token 中验证以下声明(这些也可以由您的令牌验证库完成):

  • 时间戳:iat、nbf 和 exp 时间戳都应该在当前时间之前或之后,视情况而定。
  • Audience :aud 声明应与您的应用程序的应用 ID 匹配。
  • Nonce :有效载荷中的 nonce 声明必须与在初始请求期间传递到 /authorize 端点的 nonce 参数匹配。

您可以浏览这些示例以找到您选择的语言的示例 有关如何显式验证 JWT 令牌的更多信息,请参阅手动 JWT 验证示例

您也可以查看此线程以获取更多参考:

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM