phát triển cao cấp của chúng tôi đã viết đoạn code sau, như một ví dụ:Parsing JWT để có được tuyên bố trong C#
public class TokenParser
{
private Token token;
public Token Parse(HttpRequestMessage r)
{
IOwinContext context = r.GetOwinContext();
token = new Token();
ParseData(context);
return token;
}
private void ParseData(IOwinContext context)
{
token.Name= context.Authentication.User.Claims.Single(x => x.Type == ClaimTypes.Name).Value;
}
}
(. Ngoài ra còn có một "Token.cs" class mà chỉ có một tài sản tên như string)
decoded JWT tải trọng của chúng tôi trông như thế này:
{
"iss": "https://someissuer.com/",
"sub": "I want this string, atm I get it manually",
"aud": "11543fdsasf23432",
"exp": 33244323433,
"iat": 23443223434
}
vấn đề tôi gặp phải là khi tôi cố gắng để có được khiếu nại của Loại "phụ", không có gì đi lên (và nó không có trong danh sách). NHƯNG "phụ" có vẻ là extremely common claim.
Tôi đang làm gì sai ở đây? Tôi có nhận được yêu cầu ("phụ") của chủ đề không?
Edit: Đối với những đề xuất system.IdentityModel - Tôi nhận được lỗi này khi cố gắng sử dụng nó:
trùng lặp có thể xảy ra của [giải mã và xác minh JWT thẻ sử dụng System.IdentityModel.Tokens.Jwt] (https://stackoverflow.com/ câu hỏi/18677 837/decoding-and-verify-jwt-token-using-system-identitymodel-tokens-jwt) –