fly*_*pig 7 c# jwt .net-core asp.net-core-webapi asp.net-core-2.0
我正在使用 .netcore 2 和 JwtSecurityToken 来生成令牌
var jwtSecurityToken = new JwtSecurityToken(
issuer: issuer,
audience:issuer,
claims: claims,
expires: DateTime.Now.AddMinutes(5),
signingCredentials: new SigningCredentials(key, SecurityAlgorithms.HmacSha256)
);
jwtSecurityToken.Header.Add("kid", requestAPIKey);
Run Code Online (Sandbox Code Playgroud)
现在因为我使用了 Idenity,所以我从 JwtSecurityToken 切换到了安全令牌描述符,我的代码是:
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(claims),
Expires = DateTime.Now.AddDays(1),
SigningCredentials = creds
};
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在使用安全令牌描述符时将 Kid 添加到我的令牌标头?在 JwtSecurityToken 中,我使用以下代码添加它:
jwtSecurityToken.Header.Add("kid", requestAPIKey);
Run Code Online (Sandbox Code Playgroud)
如何使用 SecurityTokenDescriptor 做同样的事情?谢谢!
小智 9
这是我使用过的代码片段:
var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.UTF8.GetBytes("Secret");
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(new Claim[]
{
new Claim(ClaimTypes.Name, UserId),
new Claim(name, value),
new Claim(name, value)
}),
Expires = DateTime.UtcNow.AddMinutes(5),
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
};
var token = tokenHandler.CreateJwtSecurityToken(tokenDescriptor);
token.Header.Add("kid", "");
token.Payload.Remove("iss");
token.Payload.Add("iss", "your issuer");
var tokenString = tokenHandler.WriteToken(token);
Run Code Online (Sandbox Code Playgroud)
小智 2
尝试这个:
var securityKey = new SymmetricSecurityKey(Encoding.Default.GetBytes(secretKey));
securityKey.KeyId = "KID_HERE";
var signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature);
var jwtSecurityToken = new JwtSecurityToken(
issuer: issuer,
audience:issuer,
claims: claims,
expires: DateTime.Now.AddMinutes(5),
signingCredentials: signingCredentials
);
jwtSecurityToken.Header.Add("kid", requestAPIKey);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4640 次 |
| 最近记录: |