具外部程序的復原介面
在本文中,我們將為您提供指導方針,說明如何在使用者旅程圖中規劃及實作 RESTful API,並讓您的應用程式對於 API 失敗更有復原能力。
確定 API 的位置正確
身分識別體驗架構 (IEF) 原則可讓您使用 RESTful API 技術設定檔來呼叫外部系統。 外部系統不受 IEF 執行階段環境的控制,而且是潛在的失敗點。
如何使用 API 管理外部系統
呼叫介面以存取某些資料時,請檢查資料是否要驅動驗證決策。 評估此資訊是否對應用程式的核心功能而言是不可或缺的。 例如,電子商務與次要功能 (例如系統管理) 的比較。 如果驗證不需要此資訊,而且只在次要案例中需要,則請考慮將呼叫移至應用程式邏輯。
如果驗證所需的資料相對靜態且小型,而且沒有其他商務理由要從目錄中外部化,則請考慮將其放在目錄中。
盡可能從預先驗證的路徑移除 API 呼叫。 如果您無法這樣做,則必須針對阻斷服務 (DoS) 和分散式阻斷服務 (DDoS) 攻擊,在您的 API 前面放置嚴格保護。 攻擊者可以載入登入頁面,並嘗試使用 DoS 攻擊對您的 API 進行洪水攻擊且停用您的應用程式。 例如,在登入中使用 CAPTCHA,註冊流程可以提供協助。
使用內建註冊使用者流程的 API 連接器,在註冊期間與識別提供者同盟之後,或是在建立使用者之前,盡可能與 Web API 整合。 由於使用者流程已經過廣泛的測試,因此您可能不需要執行使用者流程層級的功能、效能或規模測試。 您仍然需要測試應用程式的功能、效能和規模。
Azure AD B2C RESTful API 技術設定檔不會提供任何快取行為。 相反地,RESTful API 設定檔會實作重試邏輯和內建至原則的逾時。
對於需要寫入資料的 API,請將工作排入佇列,讓背景工作角色執行這類工作。 您可以使用 Azure 佇列 之類的服務。 此練習會讓 API 有效率地傳回,並提高原則執行效能。
API 錯誤處理
當 API 存留在 Azure AD B2C 系統之外時,需要在技術設定檔內進行適當的錯誤處理。 請確定使用者獲得適當的通知,且應用程式可以正常地處理失敗。
如何正常處理 API 錯誤
API 可能會因各種原因而失敗,請讓您的應用程式能夠從這類失敗中復原。 傳回 HTTP 4XX 錯誤訊息,如果 API 無法完成要求。 在 Azure AD B2C 原則中,請嘗試正常處理 API 無法使用的情況,可能會呈現較少的體驗。
主動監視並使用持續整合/持續傳遞 (CICD),輪替 API 存取認證,例如技術設定檔引擎所使用的密碼和憑證。
API 管理 - 最佳做法
當您部署 REST API 並設定 RESTful 技術設定檔時,遵循建議的最佳做法可協助您避免常見的錯誤和忽視的問題。
如何管理 API
API 管理 (APIM) 會發佈、管理及分析您的 API。 APIM 也會處理驗證,以提供後端服務和微服務的安全存取。 使用 API 閘道來擴增 API 部署、快取和負載平衡。
建議您在使用者旅程圖的開頭取得正確的權杖,而不是針對每個 API 呼叫多次並保護 Azure APIM API。
下一步
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應