2015-01-21 5 views
0

Корпус: Я хочу, чтобы API-интерфейсы API API можно было использовать несколькими арендаторами. Надеюсь, я могу объяснить, что я хочу. Таким образом, на самом деле ключ API принадлежит определенному арендатору.Многоуровневое обслуживание в Менеджере API

Пример: Я хочу открыть API GetCustomers. Потому что я только хочу вернуть клиентов этого арендатора, как я могу достичь этого без арендатора в качестве параметра (GetCustomers (арендатор))?

  1. Возможно ли получить Арендатора с помощью ключа API?
  2. Есть ли другой способ достичь этого?

С уважением Roger

+0

Ваш вопрос непонятен, вы хотите разоблачить свой API на разных арендаторах? –

+0

Hello Abimaran, Сам API доступен общественности. Однако его используют разные организации (арендаторы). В рамках API организация может вызвать GetCustomers. Однако могут быть возвращены только клиенты этой организации. Клиенты, например, хранятся в бэкэнд-базе данных с организацией в качестве атрибута. Надеюсь, это поможет? –

ответ

0

Если я правильно получил, я думаю, что я могу форматировать вашу проблему, как показано ниже,

У вас есть публичный API, который может быть вызван всеми пользователями всех жильцов. Но всякий раз, когда пользователь принадлежит к одному конкретному арендатору, который вызывает API, API должен возвращать пользователей к этому конкретному арендатору.

Решение

Вы можете определить свой сервис бэкэнда, который может извлекать данные пользователя на основе параметра арендатора. При передаче запроса APIManager может передаваться параметр Tenant. Для этого пользователю не нужно передавать принадлежащий ему арендатор. Из самого API вы сможете извлечь это значение из заголовка адреса и передать его в бэкэнд.

Я думаю, что это правильный способ реализации. Если вы не хотите передавать параметр «Tenant» на ваш сервер, то для каждого арендатора необходимо будет несколько клонированных бэкэнд-сервисов для извлечения сведений о клиенте именно этому арендатору. Это плохой дизайн.