我正在写信给您,因为我需要您的帮助。我需要开发一种使用RS256算法生成jwt令牌的方法。 目前,我有一种方法可以使用HS256算法,但是格式明显不同。 要使用RS256算法生成令牌,我需要公钥和私钥,将它们保存在txt文件中(仅用于测试),并且在要生成令牌时会读取它们。 问题是我不知道如何重新调整使用HS256算法生成令牌的代码,以便我接受RS256,您能帮我吗? 这是我用来生成HS256令牌的代码。
var claims = new[]
{
new Claim(JwtRegisteredClaimNames.UniqueName, userInfo.UserId.ToString()),
new Claim(JwtRegisteredClaimNames.Jti, guid),
new Claim(JwtRegisteredClaimNames.NameId, "MyId"),
new Claim("ApiClaimToken", customGuid)
};
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(appSettingsJson["Token:Key"].ToString())); //_configuration["Llave_super_secreta"]));
var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
JwtSecurityToken token = new JwtSecurityToken(
issuer: baseUrl,
audience: baseUrl,
claims: claims,
expires: expiration,
signingCredentials: creds);
var authToken = new AuthToken { Token = new JwtSecurityTokenHandler().WriteToken(token), Expiration = expiration};
return authToken;
感谢您的帮助