共用方式為


驗證案例和建議

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

驗證解決方案

  • Azure App 服務 內建驗證 - 可讓您在 Web 應用程式、RESTful API 或行動後端中撰寫最少或無程式代碼來登入和存取數據。 它直接內建於平臺中,不需要任何特定的語言、連結庫、安全性專業知識,甚至是任何要使用的程序代碼。
  • Microsoft 驗證連結庫 (MSAL) - 可讓開發人員從 Microsoft 身分識別平台 取得安全性令牌,以驗證使用者並存取受保護的 Web API。 這些適用於多個支援的平臺和架構,這些是可用於各種裝載環境的一般用途連結庫。 開發人員也可以與多個登入提供者整合,例如 Microsoft Entra、Facebook、Google、Twitter。
  • Microsoft.Identity.Web - 高階連結庫會包裝 MSAL.NET,它提供一組 ASP.NET 核心抽象概念,可簡化將驗證支援新增至 web 應用程式和 Web API 與 Microsoft 身分識別平台 整合。 它提供單一介面 API 便利層,可系結 ASP.NET Core、其驗證中間件,以及 MSAL.NET。 此連結庫可用於各種託管環境中的應用程式。 您可以與多個登入提供者整合,例如 Microsoft Entra、Facebook、Google、Twitter。

案例建議

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

驗證方法 使用時機
內建 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 內建驗證和授權