为什么我们有两个 JWT 令牌类 JwtSecurityTokenHandler 和 JsonWebTokenHandler?

2024-03-27

它总是令人困惑,并且没有提到哪个更好,我个人更喜欢 JsonWebTokenHandler,因为它是 ValidateToken 的更合适的返回类型

命名空间的区别是 Microsoft.IdentityModel.JsonWebTokens 与 System.IdentityModel.Tokens.Jwt,这也很相似?

有可用的指南吗?


JsonWebTokenHandler 是新的改进版本。

See: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/945 https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/945

布伦施马尔茨写道:

JwtSecurityTokenHandler 是根据现有的 System.IdentityModel.SecurityTokenHandler 建模的。我们必须做出一些妥协,例如在使用 SecurityTokenDescriptor 时使用 System.Security.ClaimsIdentity 作为构建 JWS 或 JWE 的类型。 ValidateToken 有一个 SecurityToken 类型的输出参数,该参数不适用于异步。 返回 ClaimsPrincipal,有时使用声明类型映射来构建声明。 该模型是新模型,重量更轻,并且可与本机 Json.Net 对象一起使用。 我们计划在顶部分层,以便您可以返回现有类型,但我们将允许用户使用注入和委托来控制返回的内容。

在某些情况下,我们看到性能提升高达 100%。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我们有两个 JWT 令牌类 JwtSecurityTokenHandler 和 JsonWebTokenHandler? 的相关文章

随机推荐

  • 相对时间序列

    我正在寻找一种标准化的方法来按相对时间排列数据 应用程序包括会计数据 例如 FY1 FY2 等 和经济数据 例如使用 1 年 2 年 3 年等的利率期限结构 我希望能够比较当前的一组时间序列数据和代表类似情况或历史规范的几个历史时间序列集
  • 立即处理至 App Store 后下架

    我的应用程序之前已下架 更新获得批准后 我在 10 分钟内收到了 3 封有关状态的电子邮件 1 处理至App Store 2 准备出售 3 停止销售 在 准备销售 状态之后 状态立即更改为 已从销售中删除 我联系了苹果公司 她说一旦应用程序
  • JavaScript XMLHttpRequest“网络错误”

    一般来说 我在 javascript 和 Web 开发方面缺乏经验 我正在从事的项目是一般公司培训计划的一部分 我们被指示使用 Google Chrome 作为主要测试浏览器 本质上 我正在编写一个将在公司内部网外部的客户端上运行的应用程序
  • 使用 Spark Web 框架时如何使用原生 Servlet Filter?

    我正在玩Spark http sparkjava com Java Web 框架 而不是 Apache Spark 我发现定义路由和过滤器非常好且容易 但是我希望将本机 servlet 过滤器应用于我的路由 但似乎找不到方法来做到这一点 更
  • 警告:preg_replace():未知修饰符“g”

    我遇到这个正则表达式错误 strTmp preg replace lt CharacterStyleRange gt n gim strTmp Error Warning preg replace 未知修饰符 g in Why g是隐含的p
  • 用于面部识别和标记的 Delphi 组件

    是否有任何好的组件 免费或商业 可用于 Delphi 我使用 Delphi 2009 使我能够轻松实现面部检测和标记照片 即图形 图像 中的面部 我需要做一些类似于 Google Picasa 网络相册可以做的事情 但是是在我的应用程序中进
  • 如何用Java实现子集和问题

    有谁知道如何通过这个伪代码在Java中实现子集和问题 w an array of positive integers sorted in non decreasing order W the target sum value include
  • 自动 AWS DynamoDB 到 S3 导出失败,并显示“role/DataPipelineDefaultRole 无效”

    严格按照以下说明进行操作这一页 http docs aws amazon com amazondynamodb latest developerguide DataPipelineExportImport Exporting html我正在
  • Angular:更改输入事件的值

    我有文本区域 我尝试将值的宽度限制为 10 个符号 我正在尝试削减价值input事件
  • 如何在我的 Webpack sass-loader 配置中指定包含 SCSS 的资源根?

    假设我有类似的东西 test scss exclude node modules loaders style loader css loader sass loader 在我的 webpack 配置中 我有一个app 包含我所有 SCSS
  • 选择 Qt 写入文本文件的自定义行结尾

    在 Qt 中写入文本文件时 使用 QFile 和 QTextStream 任何 n or endl自动转换为正确的平台特定行结尾 例如 r n对于 Windows 我想让用户选择使用哪个文件结尾 有没有办法在不使用二进制文件模式的情况下设置
  • 从 Byte[] 显示图像的最简单方法是什么?

    我有一个包含黑白图像的结构 public class Img public int height public int width public byte matrix 矩阵中包含的值为0或255 使用 C WPF 在组件中显示此图像的最佳
  • 并行位置

    并行性新手 正在学习使用 C 进行 HPX 的入门知识 我正在查看将打印的特定 hello word 示例hello world在每个位置的每个操作系统线程上 一些输出如下所示 hello world from OS thread 1 on
  • 列出子项 API 未提供驱动器/文件夹的所有子项

    我在获取用户 OneDrive 的文件 文件夹时遇到以下问题 击中时 https graph microsoft com v1 0 users https graph microsoft com v1 0 users 用户 ID 驱动器 我
  • GPU训练时Tensorflow 2.5退出代码-1073740791

    在 GPU 上训练 Tensorflow 模型时 调用 model fit 退出并带有代码 1073740791 0xC0000409 立即地 Epoch 1 500 2021 10 16 20 13 42 154951 I tensorf
  • 为 Visual Studio 2010 设置 OpenCV-2.3

    我正在尝试将 opencv 2 3 与 Visual Studio 2010 Express 一起使用 我的代码来自示例 include stdafx h include
  • 将 UTF-16 转换为 UTF-8

    我目前使用 VC 2008 MFC 由于 PostgreSQL 不支持 UTF 16 Windows 使用的 Unicode 编码 我需要在存储之前将字符串从 UTF 16 转换为 UTF 8 这是我的代码片段 demo cpp Defin
  • android 按下并按住按钮时重复动作

    我想在按住按钮时实现重复操作 示例 当用户单击按钮并按住它时 它应该以固定的时间间隔一次又一次地调用类似的方法 直到用户将手指从按钮上移开 有多种方法可以实现这一点 但一个非常简单的方法是发布Runnable on a Handler有一定
  • Javascript worker.postMessage 缩小空数组

    我将一个空数组传递给一个工作人员 该工作人员应该填充该数组并返回它 我知道还有其他方法可以做到这一点 但我更感兴趣的是为什么它不起作用 而不是让它工作 主要代码 var arr new Array 4 console log arr len
  • 为什么我们有两个 JWT 令牌类 JwtSecurityTokenHandler 和 JsonWebTokenHandler?

    它总是令人困惑 并且没有提到哪个更好 我个人更喜欢 JsonWebTokenHandler 因为它是 ValidateToken 的更合适的返回类型 命名空间的区别是 Microsoft IdentityModel JsonWebToken