System.IdentityModel.Tokens 和 Microsoft.IdentityModel.Tokens 之间的冲突

2023-12-20

我在使用 System.IdentityModel.Tokens 时遇到冲突:

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Text;

public voidGenereToken()
{
    const string sec = "401b09eab3c013d4ca54922bb802bec8fd5318192b0a75f201d8b3727429090fb337591abd3e44453b954555b7a0812e1081c39b740293f765eae731f5a65ed1";
    var now = DateTime.UtcNow;
    var securityKey = new InMemorySymmetricSecurityKey(Encoding.Default.GetBytes(sec));
    var signingCredentials = new SigningCredentials(securityKey,
            SecurityAlgorithms.RsaSha256Signature, SecurityAlgorithms.Sha256Digest);

    var header = new JwtHeader(signingCredentials);

    var payload = new JwtPayload
    {
        {"iss", "a5fgde64-e84d-485a-be51-56e293d09a69"},
        {"scope", "https://example.com/ws"},
        {"aud", "https://example.com/oauth2/v1"},
        {"iat", now},
    };

    var secToken = new JwtSecurityToken(header, payload);

    var handler = new JwtSecurityTokenHandler();
    var tokenString = handler.WriteToken(secToken);
    Console.writeLine(tokenString)
}

创建标头时出现以下错误(var header = new JwtHeader(signingCredentials);) :

参数类型“System.IdentityModel.Tokens.SigningCredentials”不是 可分配给参数类型 'Microsoft.IdentityModel.Tokens.SigningCredentials'

我不明白,因为我所有的类型都指的是系统.IdentityModel.令牌。 并在文档中JwtHeader 构造函数 https://msdn.microsoft.com/en-us/library/dn451132(v=vs.114).aspx need System.IdentityModel.Tokens.SigningCredentials

我不知道出了什么问题...


System.IdentityModel.Tokens.Jwt 版本 5.0.0.0 依赖于 Microsoft.IdentityModel.Tokens。

您需要在 Microsoft.IdentityModel.Tokens 命名空间中使用 SigningCredentials。

Example:

using System;
using System.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Text;

public void voidGenereToken() {
    const string sec = "401b09eab3c013d4ca54922bb802bec8fd5318192b0a75f201d8b3727429090fb337591abd3e44453b954555b7a0812e1081c39b740293f765eae731f5a65ed1";
    var now = DateTime.UtcNow;
    var securityKey = new Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(Encoding.Default.GetBytes(sec));
    var signingCredentials = new Microsoft.IdentityModel.Tokens.SigningCredentials(
        securityKey,
        SecurityAlgorithms.HmacSha256Signature);

    var header = new JwtHeader(signingCredentials);

    var payload = new JwtPayload
    {
            {"iss", "a5fgde64-e84d-485a-be51-56e293d09a69"},
            {"scope", "https://example.com/ws"},
            {"aud", "https://example.com/oauth2/v1"},
            {"iat", now},
        };

    var secToken = new JwtSecurityToken(header, payload);

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

System.IdentityModel.Tokens 和 Microsoft.IdentityModel.Tokens 之间的冲突 的相关文章

  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • 为什么我不能用 `= delete;` 声明纯虚函数?

    Intro 纯虚函数使用通用语法声明 virtual f 0 然而 自 c 11 以来 有一种方法可以显式地传达non existence 特殊 成员函数的 Mystruct delete eg default constructor Q
  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • 为什么要序列化对象需要 Serialized 属性

    根据我的理解 SerializedAttribute 不提供编译时检查 因为它都是在运行时完成的 如果是这样 那么为什么需要将类标记为可序列化呢 难道序列化器不能尝试序列化一个对象然后失败吗 这不就是它现在所做的吗 当某些东西被标记时 它会
  • Clang 编译器 (x86):80 位长双精度

    我正在尝试在 x86 Windows 平台上使用本机 80 位长双精度 海湾合作委员会选项 mlong double 80 https gcc gnu org onlinedocs gcc x86 Options html似乎不适用于 cl
  • 对齐 GridView 中的行值

    我需要在 asp net 3 5 中右对齐 gridview 列中的值 我怎样才能做到这一点
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • ASP MVC:服务应该返回 IQueryable 的吗?

    你怎么认为 你的 DAO 应该返回一个 IQueryable 以便在你的控制器中使用它吗 不 您的控制器根本不应该处理任何复杂的逻辑 保持苗条身材 模型 而不是 DAO 应该将控制器返回给视图所需的所有内容 我认为在控制器类中看到查询 甚至
  • C# 中条件编译符号的编译时检查(参见示例)?

    在 C C 中你可以这样做 define IN USE 1 define NOT IN USE 1 define USING system 1 system 1 IN USE 进而 define MY SYSTEM IN USE if US
  • 通过 NHibernate 进行查询,无需 N+1 - 包含示例

    我有一个 N 1 问题 我不知道如何解决它 可以在这个问题的底部找到完全可重复的样本 因此 如果您愿意 请创建数据库 设置 NUnit 测试和所有附带的类 并尝试在本地消除 N 1 这是我遇到的真实问题的匿名版本 众所周知 这段代码对于帮助
  • 尚未处理时调用 Form 的 Invoke 时出现 ObjectDisposeException

    我们得到一个ObjectDisposedException从一个电话到Invoke在尚未处理的表格上 这是一些演示该问题的示例代码 public partial class Form2 Form void Form2 Load object
  • 有没有一种简单的方法可以让 Visual Studio 2015 使用特定的 ToolsVersion?

    使用特定版本构建项目或解决方案时msbuild我可以使用以下命令选择早期的 net 工具链 toolsversion or tv switch C Program Files x86 MSBuild 14 0 bin msbuild tv
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检

随机推荐

  • 使用 jq 删除 JSON 值中的重复项

    我有以下 JSON function ping name start servers load 581 6875 last heard 2 379324197769165 version 1 0 hidden false pid 19735
  • 参数.被调用者替代方案

    As arguments callee将被弃用 我将在以下表达式中使用什么来代替arguments callee var self this this async function if test then else self async
  • 通过 JMH 测量 sun.misc.Unsafe.compareAndSwap 中的奇怪行为

    我决定使用不同的锁定策略来测量增量 并为此使用 JMH 我使用 JMH 来检查吞吐量和平均时间 并使用简单的自定义测试来检查正确性 有六种策略 原子数 读写锁定计数 与易失性同步 无易失性的同步块 sun misc Unsafe compa
  • 使用 eval() 是否有充分的理由?

    在我看来 这eval 受到与 goto 相同的蔑视 并由eval 我的意思是一个将字符串作为代码执行的函数 如 PHP Python JavaScript 等中所示 是否存在使用eval 是否合理 perl 除外 如果没有 为什么有这么多语
  • SQL:使用 NULL 值与默认值

    什么是pros and cons使用的空值在 SQL 中而不是默认值 附言 这里已经提出了许多类似的问题 但没有一个回答我的问题 我不知道你为什么要把这些与案例进行比较 null意味着某些列是空的 没有值 而当我们不在查询中直接设置它时 默
  • Zsh 想要自动更正命令,前面有一个 _

    我最近刚刚开始使用 Zsh 在 shell 提示符中获得一些集成支持 以显示我的 Git 状态等 当我输入 ruby v 为了确认我正在运行的 ruby 版本 Zsh 询问我是否要将命令更改为 ruby 在提示符处说 不 并且命令按预期完成
  • Azure 持久函数示例显示不允许同步函数

    我正在逐步完成 Azure 培训 我目前正在看https learn microsoft com en us learn modules create long running serverless workflow with durabl
  • 使用 htaccess 修复拼写错误的 url

    所以我的网站有一个非常简单的问题 至少我认为如此 我需要能够将任何拼写错误的 URL 重定向到正确的 URL 如果我向你们解释它比描述它更容易 例如 我们以这个网址为例 http www tomshardware com reviews r
  • 如何在CSS中添加等于图像宽度一半的负边距?

    我正在使用图像height 100vh 因此根据屏幕的分辨率 其尺寸会发生变化 我想为其添加负左边距 等于其宽度的一半 这取决于屏幕分辨率 有什么解决方案可以只用 CSS 来做到这一点吗 如果负左位置取决于 half 元素宽度你可以这样做
  • #define/#undef 具有特殊含义的标识符是否属于未定义行为?

    对问题的回答禁用 gcc 中的覆盖检查 https stackoverflow com q 30303228 1708801建议使用 Doverride 在命令行上禁用错误使用的错误override http en cppreference
  • 抛出异常与使用 switch 语句返回空值

    所以我有一个函数可以格式化日期以强制给定的枚举 DateType CURRENT START END 在使用 switch 语句的情况下处理返回值的最佳方法是什么 public static String format Date date
  • Rmarkdown 文件的 pandoc-citeproc 错误 83

    我有以下文档 我正在尝试使用 Rstudio 进行编译 title shorttitle author bibliography library bib output papaja apa6 pdf r message FALSE warn
  • JQuery动画:是否可以在动画过程中改变速度?

    我想将 div 向下移动一页 并且希望它在到达目标时减慢速度 我尝试使用带有递归函数的回调 但看起来并不顺利 function MovePanel sidePanel animate marginTop newCurrTop moveSpe
  • Webgl gl.viewport 更改

    我在调整画布大小时遇到 问题gl viewport sync 假设我从画布开始300x300 画布 https dl dropbox com u 96108589 shapes 300x300 png 以及初始化gl viewport相同尺
  • Cucumber:找到带有标签文本X的输入?

    在 Cucumber 中 我尝试创建这样的步骤 Then I should see Example business name in the Business name input 我希望将 公司名称 输入定义为 标签包含文本 公司名称 的
  • 如何将 Java 转换为 Exe [重复]

    这个问题在这里已经有答案了 可能的重复 将java程序编译成exe https stackoverflow com questions 2011664 compiling a java program into an exe 你好 我想将我
  • Rails Capistrano 的 rbenv 路径错误?

    我尝试使用卡皮斯特拉诺在 Rails 应用程序上 但我遇到了一些问题 当我跑步时cap production deploy check 看起来还可以 只有错误的信息 这有关系吗 DEBUG a8c55ce2 Command usr bin
  • 将数据发布到 Flex/Flash (mxml) 应用程序

    我的 Flex 应用程序需要根据数据库组过滤用户 根据它们所属的组 有一个 config xml 文件用于填充 swf 我是这样想的 1 客户端进入一个 aspx 页面 其中包含一个需要用户名和密码的表单 2 在服务器端我确认用户凭证3 一
  • 如何更改视图比例

    我正在尝试制作像欧洲体育应用程序中那样的侧边栏菜单 当菜单从左侧滑动时 sourceviewcontroller向左滑动并变小 var percentWidthOfContainer containerView frame width 0
  • System.IdentityModel.Tokens 和 Microsoft.IdentityModel.Tokens 之间的冲突

    我在使用 System IdentityModel Tokens 时遇到冲突 using System using System Configuration using System Data using System Data SqlCl