C# 如何在c中生成加密的JWT令牌#

C# 如何在c中生成加密的JWT令牌#,c#,encryption,jwt,C#,Encryption,Jwt,使用下面的代码,我可以生成加密的JWT令牌。但它给出了5个部分。我只需要3个零件。因此,任何人都可以帮助我获得所需的代码 var jwt=new JwtSecurityToken( 发行人:“asds”, 观众:“sds”, 索赔:cliams, 日期时间。现在, 签名凭据:签名凭据, 过期:DateTime.Now.AddHours(1) ); var ep=新的Microsoft.IdentityModel.Tokens.EncryptingCredentials(securityKey1

使用下面的代码,我可以生成加密的JWT令牌。但它给出了5个部分。我只需要3个零件。因此,任何人都可以帮助我获得所需的代码

var jwt=new JwtSecurityToken(
发行人:“asds”,
观众:“sds”,
索赔:cliams,
日期时间。现在,
签名凭据:签名凭据,
过期:DateTime.Now.AddHours(1)
);
var ep=新的Microsoft.IdentityModel.Tokens.EncryptingCredentials(securityKey1,Microsoft.IdentityModel.Tokens.SecurityAlgorithms.Aes256KW,Microsoft.IdentityModel.Tokens.SecurityAlgorithms.Aes256CbcHmacSha512);
JwtSecurityTokenHandler tokenHandler=新的JwtSecurityTokenHandler();
var a=tokenHandler.CreateJwtSecurityToken(“发行人”、“受众”、新索赔实体(cliams)、DateTime.Now、DateTime.Now.AddHours(1)、DateTime.Now、signingCredentials、ep);
string tokenString2=tokenHandler.WriteToken(a);
WriteLine(“令牌字符串:{0}”,令牌字符串);
var encodedtext=new JwtSecurityTokenHandler().WriteToken(a)我假设“parts”指的是紧凑的序列化格式。。。正确的?根据这个假设,我建议您检查一下为什么要创建加密的JWT,而不是预期的签名JWT


从:

在JWS紧凑序列化中,JWS表示为串联:BASE64URL(UTF8(JWS保护头))| |'。| | BASE64URL(JWS有效负载)| |'。| | BASE64URL(JWS签名)


。。。产生了一个包含三个部件和两个分离器的JWT

从:

JWE Compact序列化将加密内容表示为紧凑的URL安全字符串。这个字符串是:BASE64URL(UTF8(JWE保护头))| |'。| | BASE64URL(JWE加密密钥)| |'。| | BASE64URL(JWE初始化向量)| |'。| | BASE64URL(JWE密文)| |'。| | BASE64URL(JWE身份验证标记)


。。。产生了一个包含五个部件和四个分离器的JWT。

我们如何知道您想要哪三个部件?需要更多信息。