C# .NET核心JWE:否“;cty“;标题

C# .NET核心JWE:否“;cty“;标题,c#,.net,jwt,bearer-token,jwe,C#,.net,Jwt,Bearer Token,Jwe,我正在使用以下代码发布我的JWEs: var signCreds=new SigningCredentials(new SymmetricSecurityKey(Encoding.ASCII.GetBytes(Configuration[“Jwt:SigningKey]”)、SecurityAlgorithms.HmacSha256); var encryptionCreds=新的加密凭证(新的SymmetricSecurityKey(Encoding.ASCII.GetBytes(配置[“Jw

我正在使用以下代码发布我的JWEs:

var signCreds=new SigningCredentials(new SymmetricSecurityKey(Encoding.ASCII.GetBytes(Configuration[“Jwt:SigningKey]”)、SecurityAlgorithms.HmacSha256);
var encryptionCreds=新的加密凭证(新的SymmetricSecurityKey(Encoding.ASCII.GetBytes(配置[“Jwt:Encryptionkey”]))、SecurityAlgorithms.Aes128KW、SecurityAlgorithms.Aes128CbcHmacSha256);
var handler=新的JwtSecurityTokenHandler();
var jwtSecurityToken=handler.CreateJwtSecurityToken(
配置[“Jwt:Issuer”],
配置[“Jwt:观众”],
新的索赔实体(索赔),
DateTime.UtcNow,
呼气素,
DateTime.UtcNow,
签名信,
加密证书);
但它并没有指定令牌的“cty”头,只指定alg、enc和typ。如果我理解正确,则必须为加密JWT设置头,因此在golang中解析令牌时出现问题,因为没有头

我还尝试了以下发行JWE的方式:

var signCreds=new SigningCredentials(new SymmetricSecurityKey(Encoding.ASCII.GetBytes(Configuration[“Jwt:SigningKey]”)、SecurityAlgorithms.HmacSha256);
var encryptionCreds=新的加密凭证(新的SymmetricSecurityKey(Encoding.ASCII.GetBytes(配置[“Jwt:Encryptionkey”]))、SecurityAlgorithms.Aes128KW、SecurityAlgorithms.Aes128CbcHmacSha256);
var handler=新的JwtSecurityTokenHandler();
var tokenDescriptor1=新的SecurityTokenDescriptor
{
观众=“你”,
发卡机构=“我”,
主题=新的索赔实体(索赔),
EncryptingCredentials=encryptionCreds
};
var tokenDescriptor2=新的SecurityTokenDescriptor
{
观众=“你”,
发卡机构=“我”,
主题=新的索赔实体(索赔),
EncryptingCredentials=encryptionCreds,
SigningCredentials=signCreds
};
var tokenDescriptor3=新的SecurityTokenDescriptor
{
观众=“你”,
发卡机构=“我”,
主题=新的索赔实体(索赔),
EncryptingCredentials=encryptionCreds,
签名凭证=签名凭证,
AdditionalHeaderClaims=新字典{{“cty”,“JWT”}
};
var enc=handler.CreateEncodedJwt(令牌描述符1);
var encSigned=handler.CreateEncodedJwt(令牌描述符2);
var encSignedWithCty=handler.CreateEncodedJwt(令牌描述符3);
但结果是一样的:

我扫描了,但没有找到为令牌设置Cty头的代码

也许有人知道我错过了什么或者是什么问题

谢谢

好像是个图书馆