Tôi cần bảo mật mã thông báo web của mình bằng cách ký tên và mã hóa. Tôi viết những dòng tiếp theo của mã:Làm cách nào để mã hóa mã thông báo bảo mật JWT?
var tokenHandler = new JwtSecurityTokenHandler();
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(new[]
{
new Claim(ClaimTypes.Name, owner.Name),
new Claim(ClaimTypes.Role, owner.RoleClaimType),
new Claim("custom claim type", "custom content")
}),
TokenIssuerName = "self",
AppliesToAddress = "http://www.example.com",
Lifetime = new Lifetime(now, now.AddSeconds(60 * 3)),
EncryptingCredentials = new X509EncryptingCredentials(new X509Certificate2(cert)),
SigningCredentials = new X509SigningCredentials(cert1)
};
var token = (JwtSecurityToken)tokenHandler.CreateToken(tokenDescriptor);
var tokenString = tokenHandler.WriteToken(token);
Vì vậy, tôi đang sử dụng một số giấy chứng nhận, được tạo ra với makecert.exe
. Sau đó, tôi đọc chuỗi mã thông báo với JwtSecurityTokenHandler
khác:
var tokenHandlerDecr = new JwtSecurityTokenHandler();
var tok = tokenHandlerDecr.ReadToken(tokenString);
Và thẻ nội dung không được mã hóa (tôi có thể thấy json theo tok
biến dưới debugger). Tôi đang làm gì sai? Làm cách nào để mã hóa dữ liệu mã thông báo?
Nếu vậy, tôi sẽ thực sự đánh giá cao nếu bạn có thể cung cấp cho tôi với một số liên kết về chủ đề này. –
Tôi đã khám phá phần mở rộng này và có vẻ như bạn đang đúng - mã hóa chưa được hỗ trợ. Cảm ơn! –
Đây có phải là trường hợp không? –