Передача объекта JSON как утверждения токена JWT в ASP.NET Core 2.0 - PullRequest
0 голосов
/ 11 июня 2019

Можно ли передать объект JSON в качестве утверждения токена JWT или списка объектов (как показано в примере ниже)?

{
  "nickname": [
    {
      "external_nickname": "tomas",
      "internal_nickname": "t_omas"
    }, 
    {
      "external_nickname": "malex",
      "internal_nickname": "alexander014"
    } 
  ]
}

До сих пор я мог передавать только один псевдоним в токене

"nickname" : "tomas"

Или я могу передать массив

"nickname" : ["nickname1","nickname2"]

Но ни один из них меня не устраивает.

РЕДАКТИРОВАТЬ:

Используя подход Авин Кавиш, я получил дополнительныекосые черты в объекте JSON.Я не хочу их.Как от них избавиться?

 "nickname": "[{\"external_nickname\":\"tomas\",\"internal_nickname\":\"t_omas\"}]"

1 Ответ

0 голосов
/ 11 июня 2019

Да, сначала сериализовать его.

var claim = new Claim("nickname", JsonConvert.SerializeObject(nicknames));

Чтобы использовать псевдонимы, необходимо десериализовать строку обратно в простой старый объект.

В javascript,

const nicknames = JSON.Parse(value)

В C #,

var nicknames = JsonConvert.DeserializeObject<T>(value) // <-- where T is your type
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...