Как правильно сопоставить поле `x-hasura-allowed-roles` с массивом, используя в Hasura поле `x-hasura-allowed-roles`?

У меня есть токен JWT, который выглядит как

      {
  "aud": "xx",
  "iss": "http://xx.com/adfs/services/trust",
  "iat": 1649956864,
  "exp": 1649960464,
  "apptype": "xx",
  "appid": "dcf6c0d8-7f3c-4904-a0c9-852c92c7624f",
  "authmethod": "http://xx",
  "auth_time": "2022-04-14T17:21:04.095Z",
  "ver": "1.0"
}

я пытаюсь составить карту appidв поле как элемент массива с помощью claims_mapв Хасуре.

      HASURA_GRAPHQL_JWT_SECRET: '{"jwk_url":"xx","claims_map":{"x-hasura-allowed-roles":{"path":"$.appid"},"x-hasura-default-role":{"path":"$.appid"}}}'

Обратите внимание на эту часть внутри:

      "x-hasura-allowed-roles":{"path":"$.appid"}

Я получу эту ошибку при запросе

неверные x-hasura-allowed-roles; должен быть список ролей: синтаксический анализ [] не удался, ожидается массив, но обнаружена строка

что имеет смысл, потому что должен быть массив.

Первая попытка (неудачная)

Если я перейду на

      "x-hasura-allowed-roles":[{"path":"$.appid"}]

Когда я запускаю Hasura, я получаю сообщение об ошибке

Неустранимая ошибка: - переменная среды HASURA_GRAPHQL_JWT_SECRET: ошибка в $['claims_map'][0]: синтаксический анализ строки не выполнен, ожидаемая строка, но обнаружен объект

Вторая попытка (неудачная)

      "x-hasura-allowed-roles":{"path":["$.appid"]}

Неустранимая ошибка: - переменная среды HASURA_GRAPHQL_JWT_SECRET: ошибка в $['claims_map'].path: синтаксический анализ текста не удалось, ожидаемая строка, но обнаружен массив

Как правильно составить карту x-hasura-allowed-rolesполе массив? Спасибо

0 ответов

Другие вопросы по тегам