2 回答

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
你的邏輯是對(duì)的!但我認(rèn)為,您的密鑰沒(méi)有足夠的字符來(lái)創(chuàng)建訪問(wèn)令牌。只需增加密鑰長(zhǎng)度,它就可以正常工作。
更新:對(duì)于HmacSha256Signature,秘鑰長(zhǎng)度不小于128位;換句話說(shuō),它應(yīng)該至少有 16 個(gè)字符。

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是我用來(lái)構(gòu)建 jwt 令牌服務(wù)器端的代碼示例:
private string BuildToken(User user)
{
var userSerialise = JsonConvert.SerializeObject(user);
var claims = new[] {
new Claim(ClaimTypes.Email, user.EmailAddress),
new Claim(ClaimTypes.UserData, userSerialise)
};
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);
var token = new JwtSecurityToken(_config["Jwt:Issuer"],
_config["Jwt:Issuer"],
claims,
expires: DateTime.Now.AddMinutes(30),
signingCredentials: creds);
return new JwtSecurityTokenHandler().WriteToken(token);
}
- 2 回答
- 0 關(guān)注
- 245 瀏覽
添加回答
舉報(bào)