我一直试图使用一个简单的密钥创建和签名JwtSecurityToken。经过大量研究,我发现的所有示例似乎都使用InMemorySymmetricSecurityKey类,但不幸的是,这个类似乎不存在于最新版本的System.IdentityModel库中。
"System.IdentityModel.Tokens": "5.0.0-rc1-211161024",
"System.IdentityModel.Tokens.Jwt": "5.0.0-rc1-211161024"
"Value cannot be null.\r\nParameter name: IDX10000: The parameter 'signatureProvider' cannot be a 'null' or an empty object."
public static string CreateTokenHMAC()
{
HMACSHA256 hmac = new HMACSHA256(Convert.FromBase64String("test"));
var key = new SymmetricSecurityKey(hmac.Key);
var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);
JwtSecurityToken token = _tokenHandler.CreateJwtSecurityToken(new SecurityTokenDescriptor()
{
Audience = AUDIENCE,
Issuer = ISSUER,
Expires = DateTime.UtcNow.AddHours(6),
NotBefore = DateTime.Now,
Claims = new List<Claim>()
{
new Claim(ClaimTypes.Email, "johndoe@example.com")
},
SigningCredentials = signingCredentials
});
return _tokenHandler.WriteToken(token);
}
这是我第一次使用JwtSecurityToken,所以我猜我可能在某个地方漏掉了一个步骤
我设法达到了完全相同的例外。我通过另一种方式生成密钥来解决这个问题:
RSAParameters keyParams;
using (var rsa = new RSACryptoServiceProvider(2048))
{
try
{
keyParams = rsa.ExportParameters(true);
}
finally
{
rsa.PersistKeyInCsp = false;
}
}
RsaSecurityKey key = new RsaSecurityKey(keyParams);
var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);
下面是Mark Hughes写的一篇关于ASP.NET 5 RC1上基于令牌的身份验证的文章
哑剧发生了什么?@rails活动记录取决于@basecamp马塞尔,这取决于哑剧0.3.2。现在哑剧0.3.2已经被拉走了,前进的道路是什么?
我从Perfoce克隆了一个Repo到Git本地,并将其所有历史记录称为,然后我将其推送到远程回购,并使用该远程回购将合并到下。 无法将部分历史记录从Perforce导入Git,无论是还是。不管怎样,一切顺利,我删除了本地回购协议和远程回购协议。 现在,Perforce depot上有更改,因此我再次克隆了所有历史记录,我想推送,然后与合并,但我不想要整个历史记录(仅新更改)。 说有这个历史,它是
html此底色代表最小触发字符 此底色代表非必要完整触发字符 *需HBuilder7.1+,或者下载mui_html_snippets.rb mui_js_snippets.rb替换使用 我们只整理了部分常用到的代码块.欢迎大家提交更多的代码块方便大家开发. 组件 触发字符 mDoctype(mui-dom结构) mdo ctype mBody(主体) mbo dy mScroll(区域滚动容器)
问题内容: 我想在我的IT之一中使用Springockito模拟DAO bean。在我的IT中,我必须使用spring context.xml来自动装配某些服务,还必须使用mockApplication.xml来模拟DAO。因此,如何同时使用两个xml配置文件? 我将模拟上下文包括在内 但是我还必须包括春季背景 问候拉吉卜 问题答案: 是一个数组,因此您可以根据需要指定位置。 顺便说一句:( 这只
我是react新手,正在使用react引导。我有一个完美工作的react应用程序,有两个组件,我使用的是功能组件。这是代码。 应用程序。js MyVerticallycenteremodal。js 在这个阶段,我的代码工作正常。但是我需要做一些改变。我需要从MyVerticallyCenteredModal组件中删除show和onHide道具,并从Modal组件中访问道具。这是我所做的, 应用程序
ChatGPT怎么读?