2015-01-21 121 views
0

案例: 我想以多租戶方式通過API管理器公開API。 希望我能解釋我想要的。因此實際上API密鑰屬於特定租戶。API管理器中的多租戶

例如: 我想公開一個GetCustomers API。 因爲我只想返回那個租客的客戶,我怎麼能在沒有租客的情況下做到這一點(GetCustomers(tenant))?

  1. 是否有可能讓Tenant獲得API密鑰?
  2. 有沒有另一種方法來實現這一目標?

問候 羅傑

+0

你的問題並不清楚,你想在不同的租戶中公開你的API嗎? – 2015-01-21 11:31:59

+0

你好Abimaran, 該API本身是公開的。然而,它被不同的組織(租戶)使用。在API內,組織可以調用GetCustomers。但是隻有該組織的客戶才能退貨。客戶例如存儲在組織作爲屬性的後端數據庫中。 希望這有助於嗎? – 2015-01-21 11:34:52

回答

0

如果我得到正確,我想我可以按照以下格式您的問題,

你有一個公共的API,它可以從所有租戶的所有用戶調用。但是,當用戶屬於某個特定租戶調用該API時,API必須返回屬於該特定租戶的用戶。

解決方案

你可以定義你的後端服務,可以提取的租戶參數用戶詳細信息。當請求點擊APIManager時,可以傳遞Tenant參數。 爲此,用戶不需要傳遞他所屬的租戶。從API本身,您應該能夠從地址標頭中提取該值並將其傳遞到後端。

我認爲以上是正確的實施方式。如果您不想將'Tenant'參數傳遞給您的後端,那麼需要爲每個租戶託管多個克隆的後端服務以提取屬於該租戶的客戶詳細信息。這是一個糟糕的設計。