Tôi đang cố triển khai mã thông báo JWT nhưng vẫn tiếp tục chạy vào ngoại lệ sau: IDX10640: Thuật toán không được hỗ trợ: 'http://www.w3.org/2001/04/xmldsig-more#hmac-sha256' khi cố gắng viết mã thông báo cho chuỗi json nhỏ gọn.DNX Core 5.0 JwtSecurityTokenHandler "IDX10640: Thuật toán không được hỗ trợ: 'http://www.w3.org/2001/04/xmldsig-more#hmac-sha256'"
const string issuer = "issuer";
const string audience = "audience";
byte[] keyForHmacSha256 = new byte[32];
new Random().NextBytes(keyForHmacSha256);
var claims = new List<Claim> { new Claim("deviceId", "12") };
var now = DateTime.UtcNow;
var expires = now.AddHours(1);
var signingCredentials = new SigningCredentials(
new SymmetricSecurityKey(keyForHmacSha256),
SecurityAlgorithms.HmacSha256Signature, SecurityAlgorithms.Sha256Digest);
var token = new JwtSecurityToken(issuer, audience, claims, now, expires, signingCredentials);
return _tokenHandler.WriteToken(token);
Bất kỳ ý tưởng nào về cách giải quyết vấn đề này?
Cập nhật 1:
Các lỗi trên xảy ra với "System.IdentityModel.Tokens.Jwt": "5.0.0-beta7-208241120"
Cập nhật 2:
Mã được cập nhật
tôi m gặp vấn đề tương tự này. Bạn đang sử dụng phiên bản '5.0.0-beta7-208241120' của thư viện' System.IdentityModel.Tokens.Jwt'? –
Có, tốt khi nghe tôi không phải là người duy nhất ... – sboulema
1) Tại sao bạn tạo khóa mật mã bằng cách sử dụng 'System.Random'? 2) một khóa 128 byte không có ý nghĩa. Bạn có muốn khóa 128 bit (16 byte) không? 256 bit/32 byte cũng sẽ là một lựa chọn lành mạnh. 3) Sử dụng thời gian địa phương là khá kỳ lạ là tốt. – CodesInChaos