Различия версий System.IdentityModel.Tokens.Jwt - PullRequest
0 голосов
/ 22 апреля 2020

Я использую System.IdentityModel.Tokens.Jwt 5.6.0. Целевая структура:. NET Core 3.1. Используя атрибут [JsonProperty], я могу контролировать именование сериализации. Но после обновления до версии 6.5.0 это больше не работает. Как я могу управлять именами в System.IdentityModel.Tokens.Jwt 6.5.0?

Это моя структура данных:

public class Data
{
    [JsonProperty("pin-number")] //for 5.6.0
    //[JsonPropertyName("pin-number")] //for 6.5.0
    public string Pin { get; set; }
}

При добавлении этой структуры в токен JWT, который я добавляю это как:

        var data = new Data
        {
            Pin = "1234"
        };
        payload.Add("data", data);
        var secToken = new JwtSecurityToken(header, payload);
        var handler = new JwtSecurityTokenHandler();
        string jwtToken = handler.WriteToken(secToken);

Я получаю строку токена. После декодирования я получаю такую ​​структуру: {"pin-number": "1234"} Это то, что я хочу.

После обновления до версии 6.5.0 он больше не работает. Я обновил атрибут свойства до [JsonPropertyName], но он игнорируется, и результат выглядит следующим образом: {"Pin": "1234"}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...