增加您所開發精靈應用程式中驗證和授權的復原能力

瞭解如何使用Microsoft 身分識別平臺和 Microsoft Entra 識別碼來增加精靈應用程式的復原能力。 尋找背景進程、服務、伺服器到伺服器應用程式的相關資訊,以及沒有使用者的應用程式。

請參閱什麼是 Microsoft 身分識別平臺?

下圖說明對 Microsoft 身分識別平臺進行呼叫的精靈應用程式。

A daemon application making a call to Microsoft identity platform.

適用於 Azure 資源的受控識別

如果您要在 Microsoft Azure 上建置精靈應用程式,請使用 Azure 資源的受控識別,以處理秘密和認證。 此功能可藉由處理憑證到期、輪替或信任來改善復原能力。

請參閱什麼是 Azure 資源的受控識別?

受控識別會使用來自Microsoft 身分識別平臺的長期存取權杖和資訊,在權杖到期之前取得新的權杖。 您的應用程式會在取得新權杖時執行。

受控識別會使用區域端點,藉由合併服務相依性來協助防止區域外失敗。 區域端點可協助保留地理區域中的流量。 例如,如果您的 Azure 資源位於 WestUS2 中,所有流量都會保留在 WestUS2 中。

Microsoft 驗證資源庫

如果您開發精靈應用程式且不使用受控識別,請使用 Microsoft 驗證程式庫 (MSAL) 進行驗證和授權。 MSAL 可簡化提供用戶端認證的程式。 例如,您的應用程式不需要使用憑證型認證來建立和簽署 JSON Web 權杖判斷提示。

請參閱 Microsoft 驗證程式庫概觀 (MSAL)

適用于 .NET 開發人員的 Microsoft.Identity.Web

如果您在 ASP.NET Core 上開發精靈應用程式,請使用 Microsoft.Identity.Web 程式庫來簡化授權。 它包含分散式權杖快取策略,適用于在多個區域中執行的分散式應用程式。

深入了解:

快取和儲存權杖

如果您未使用 MSAL 進行驗證和授權,則快取和儲存權杖有最佳做法。 MSAL 會實作並遵循這些最佳做法。

應用程式會從識別提供者 (IdP) 取得權杖,以授權應用程式呼叫受保護的 API。 當您的應用程式收到權杖時,具有權杖的回應會 expires\_in 包含屬性,告知應用程式快取和重複使用權杖的時間長度。 請確定應用程式會使用 expires\_in 屬性來判斷權杖生命週期。 確認應用程式不會嘗試解碼 API 存取權杖。 使用快取的權杖可防止應用程式與Microsoft 身分識別平臺之間不必要的流量。 使用者會登入您的應用程式,以取得權杖的存留期。

HTTP 429 和 5xx 錯誤碼

使用下列各節來瞭解 HTTP 429 和 5xx 錯誤碼

HTTP 429

有會影響復原能力的 HTTP 錯誤。 如果您的應用程式收到 HTTP 429 錯誤碼「太多要求」,Microsoft 身分識別平臺會節流您的要求,以防止您的應用程式接收權杖。 請確定您的應用程式不會嘗試取得權杖,直到 [重試後 回應] 欄位中的時間 到期。 429 錯誤通常表示應用程式不會正確快取和重複使用權杖。

HTTP 5xx

如果應用程式收到 HTTP 5x 錯誤碼,應用程式不得輸入快速重試迴圈。 請確定應用程式會等到 [重試後] 欄位到期為止。 如果回應未提供 Retry-After 標頭,請使用指數輪詢重試與第一次重試,在回應之後至少 5 秒。

當要求逾時時,請確認應用程式不會立即重試。 使用先前引用的指數輪詢重試。

下一步