Можно ли передать параметры подписки c в вызываемый API? - PullRequest
0 голосов
/ 11 июля 2020

Я использую Azure API Management. У меня есть API, продукт и подписка

Общий API c. он выполняет поиск в истории заказов на продажу и требует идентификатора клиента, чтобы показать, что клиенты заказывают онил. Отношения между клиентом и подпиской рассчитаны как 1: 1. Однако я не хочу, чтобы подписчики видели данные других подписчиков. Я подумал, что могу установить фиксированный параметр (например, идентификатор клиента) для каждой подписки, который будет передаваться в API при любом вызове.

Или как можно ограничить API, чтобы он отображал только данные c, определенные подписчиком? Каким-то образом API должен различать подписчиков. Есть идеи?

1 Ответ

0 голосов
/ 07 августа 2020

При вызове API с использованием ключа подписки context.Subscription и context.User (не для отдельных подписок) устанавливаются для использования в политиках.

Поскольку у вас есть отношение 1: 1 между клиентом и подпиской, вы можете установить заголовок в запросе к бэкэнду с адресом электронной почты пользователя, используя приведенный ниже оператор политики в разделе политики inbound

<set-header name="x-customer-email" exists-action="override">
  <value>@(context.User.Email)</value>
</set-header>
...