簡體   English   中英

Azure API 管理 - 認證和授權與底層服務同步

[英]Azure API Management - Authenticate and Authorization sync with underlying services

我是 Azure API Management 的新手,很高興收到有關我的實施的建議和建議。

我正在開發一個 B2B Api 通道,供第三方通過 API 管理 (APIM) 網關調用我的服務。 在 APIM 開發人員門戶上,我可以加入新客戶端並生成 API 密鑰。 我的難題是如何最好地弄清楚誰在調用底層服務?

我已經考慮將 APIM 中生成的 API 密鑰添加到底層服務將調用以進行身份驗證的數據庫,但是,當第 3 方客戶端轉到 APIM 並重新生成新的 API 密鑰時,實現將是手動的並且不會同步.

我想要的是一種在 APIM 和底層服務之間自動同步授權和身份驗證的解決方案。

由於可以替換 API 密鑰,因此您最好依靠 ID 來識別客戶端。

您可以將客戶端 ID 傳遞到 header 中的后端: https://stackoverflow.com/a/42277313/2579733

現在,您如何將 APIM 的客戶端 ID 與后端的客戶端 ID 關聯起來?

如果只有幾個客戶端,您可能可以手動更新后端數據庫中的該關聯。 如果您可以使用客戶端的 email 來連接 APIM 客戶端和您的后端客戶端,那就更容易了(大功告成)。

如果您需要注冊許多客戶端並且手動方法不可行......一種方法是使用Delegated Authentication

委托允許您使用現有網站來處理開發人員登錄/注冊和訂閱產品,而不是使用開發人員門戶中的內置功能。 它使您的網站能夠擁有用戶數據並以自定義方式執行這些步驟的驗證。

我從未使用過它,但似乎您可以將創建新客戶端的責任轉移到后端服務(由您開發)。

通過這種方式,您可以訪問客戶電子郵件、生成 ID 並可以根據需要將 ID 關系存儲在后端。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM