- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在使用 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)
}
创建 header 时出现以下错误 (var header = new JwtHeader(signingCredentials);) :
Argument type 'System.IdentityModel.Tokens.SigningCredentials' is notassignable to parameter type'Microsoft.IdentityModel.Tokens.SigningCredentials'
我不明白,因为我的所有类型都引用 System.IdentityModel.Tokens。在文档中 JwtHeader Constructor需要 System.IdentityModel.Tokens.SigningCredentials
我不知道怎么回事...
最佳答案
System.IdentityModel.Tokens.Jwt 版本 5.0.0.0 依赖于 Microsoft.IdentityModel.Tokens。
您需要在 Microsoft.IdentityModel.Tokens 命名空间中使用 SigningCredentials。
例子:
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);
}
关于c# - System.IdentityModel.Tokens 和 Microsoft.IdentityModel.Tokens 之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38338580/
我正在使用 Forms Authentication 和 ASP.NET MVC 2 开发一个基于声明的授权系统。我看到一个命名空间“Microsoft.IdentityModel”提供了很多与另一个
我在使用 System.IdentityModel.Tokens 时遇到冲突: using System; using System.Configuration; using System.Data;
我可能不是第一个问但我们现在应该使用哪个?据我了解,它从一个非常小的 开始。系统 .IdentityModel 用于 WCF。然后是微软 .IdentityModel 类增加了很多。这是 http:/
我开始在我的项目中使用 ThinkTecture.IdentityModel,但我遇到了一个严重的问题。请帮助我。 错误 1“类型‘System.IdentityModel.Tokens.Securi
在遵循教程时 Create a RESTful API with authentication using Web API and Jwt我在编译 CustomJwtFormat 类时遇到问题: us
我们可以在 NuGet 库中找到两个独立的包: System.IdentityModel.Tokens.Jwt Microsoft.IdentityModel.Tokens 两者似乎都会定期更新并拥有
使用 .net 4.7 和 IdentityModel 的 Windows 服务应用程序。这是一个 Windows 服务:它在我的机器 (Windows 10) 上运行良好,但在 Windows Se
我是 .NET 的新手,目前正在通过关注 this tutorial 学习 ASP.NET Core MVC . 我的开发环境: Ubuntu 16.04.1 LTS .Net Core 1.0.0-
构建时我不断收到此错误: 无法识别的配置部分 system.identityModel 我已将以下内容添加到我的配置中:
我正在尝试在SharePoint Foundation 2010项目中使用 SPFederationAuthenticationModule 类。\我找不到 Microsoft.Sharepoint.
我已经更新了 System.IdentityModel.Tokens.jwt,它警告我在较低的代码块中使用“Audience”已过时。我做了一些研究,发现让观众前进的正确方法是: var valida
我已经更新了 System.IdentityModel.Tokens.jwt,它警告我在较低的代码块中使用“Audience”已过时。我做了一些研究,发现让观众前进的正确方法是: var valida
我已安装 Windows Identity Foundation,但找不到 Microsoft.IdentityModel dll。根据 Azure 动手实验室,它应该只是在 VS2010 中的“添加
我有一个使用 IdentityModel 中的 TokenClient 的新 MVC 项目 var tokenClient = new TokenClient(tokenUrl, clientId,
我正在尝试通过实现 UserNamePasswordValidator 来提供用户身份验证。我添加了 Microsoft.IdentityModel 和 System.IdentityModel.To
我正在尝试通过自定义类库使用 IdentityModel.dll。 我有一个 Web 服务(将作为 WSP 部署在 SharePoint 中),我想在其中使用 IdentityModel.Oidccl
如 leastprivilege 中所述,有两种方法可以使用 Thinktecture.IdentityModel 设置声明授权检查。一种是设置过滤器。另一种是为要检查的 Action 添加属性。 我
我有一个基于 TcpClient/TcpListener 和 SslStream 的简单客户端-服务器应用程序。客户端可以使用 X509Certificate 或在建立 SslStream 后发送用户
我最近被迫将我的 System.IdentityModel.Tokens.Jwt NuGet 包更新到 5.1.4,因为另一个 NuGet 包。更改后的大部分代码似乎很容易解决,但现在 Configu
我正在尝试使用 JWT token 验证用户。我在下面使用的代码在控制台应用程序中工作得很好。但是当我想在我的 Azure 函数中应用它时,它给我错误: 无法加载文件或程序集 Microsoft.Id
我是一名优秀的程序员,十分优秀!