共用方式為


驗證案例和建議

如果您有在 Azure App Service 中執行的 Web 應用程式或 API,您可以根據要求這些項目的使用者或應用程式身分識別來限制存取。 App Service 提供數個驗證解決方案,可協助您達成此目標。 在本文中,您將會了解不同的驗證選項、其優點和缺點,以及哪個驗證解決方案用於特定案例。

驗證解決方案

  • Azure App Service 內建驗證 - 可讓您藉由在 Web 應用程式、RESTful API 或行動裝置後端中寫入最少程式碼或不寫入程式碼,登入使用者並存取資料。 其直接內建於平台,不需任何特定的語言、程式庫、安全性專業知識,甚至任何程式碼,即可使用。
  • Microsoft 驗證程式庫 (MSAL) - 可讓開發人員從 Microsoft 身分識別平台取得安全性權杖,以驗證使用者及存取受保護的 Web API。 適用於多個支援的平台和架構,這些是可用於各種裝載環境的一般用途程式庫。 開發人員也可以與多個登入提供者整合,例如 Microsoft Entra、Facebook、Google、X。
  • Microsoft.Identity.Web - 較高層級程式庫包裝 MSAL.NET,提供一組 ASP.NET Core 抽象概念,簡化將驗證支援新增至 Web 應用程式和 Web API (與 Microsoft 身分識別平台整合)。 提供單一介面 API 便利層,將 ASP.NET Core、其驗證中介軟體及 MSAL.NET 結合在一起。 此程式庫可用於各種裝載環境中的應用程式。 您可以與多個登入提供者整合,例如 Microsoft Entra、Facebook、Google、X。

案例建議

下表列出每個驗證解決方案,以及使用時機的重要因素。

驗證方法 使用時機
內建 App Service 驗證 * 您希望擁有和管理較少的程式碼。
* 您的應用程式語言和 SDK 不提供使用者登入或授權。
* 您無法修改應用程式程式碼 (例如,在移轉舊版應用程式時)。
* 您必須透過設定處理驗證,而不是程式碼。
* 您必須登入外部或社交使用者。
Microsoft Authentication Library (MSAL) * 您需要數種不同語言之一的程式碼解決方案
* 您需要新增自訂授權邏輯。
* 您需要支援增量同意。
* 您需要程式碼中已登入使用者的相關資訊。
* 您必須登入外部或社交使用者。
* 您的應用程式必須處理存取權杖過期,而不讓使用者再次登入。
Microsoft.Identity.Web * 您有 ASP.NET Core 應用程式。
* 在本機開發期間,您需要 IDE 中的單一登入支援。
* 您需要新增自訂授權邏輯。
* 您需要支援增量同意。
* 您需要 Web 應用程式中的條件式存取。
* 您需要程式碼中已登入使用者的相關資訊。
* 您必須登入外部或社交使用者。
* 您的應用程式必須處理存取權杖過期,而不讓使用者再次登入。

下表列出您會使用的驗證案例和驗證解決方案。

案例 App Service 內建驗證 Microsoft 驗證資源庫 Microsoft.Identity.Web
需要快速且簡單的方法來限制組織中使用者的存取權?
無法修改應用程式程式碼 (應用程式移轉案例)?
應用程式的語言和程式庫支援使用者登入/授權?
即使您可以使用程式碼解決方案,您寧可不要使用程式庫嗎? 不想要維護負擔嗎?
您的 Web 應用程式是否需要提供增量同意?
您是否需要 Web 應用程式中的條件式存取?
您的應用程式是否必須處理存取權杖過期,而不讓使用者再次登入 (使用重新整理權杖)?
是否需要自訂授權邏輯或已登入使用者的相關資訊?
是否需要從外部或社交識別提供者登入使用者?
您是否有 ASP.NET Core 應用程式?
您是否有單頁應用程式或靜態 Web 應用程式?
是否想要 Visual Studio 整合?
在本機開發期間,是否需要 IDE 中的單一登入支援?

下一步

若要開始使用內建 App Service 驗證,請參閱:

若要開始使用 Microsoft 驗證程式庫 (MSAL),請參閱:

若要開始使用 Microsoft.Identity.Web,請參閱:

深入了解 App Service 內建驗證和授權