Azure Active Directory 驗證程式庫

警告

本內容適用於較舊的 Azure AD v1.0 端點。 將 Microsoft 身分識別平台用於新專案。

Azure Active Directory 驗證程式庫 (ADAL) v1.0 可讓應用程式開發人員向雲端或內部部署 Active Directory (AD) 驗證使用者,並取得權杖來保護 API 呼叫。 ADAL 透過下列功能使開發人員更容易驗證:

  • 儲存存取權杖和重新整理權杖的可設定權杖快取
  • 存取權杖到期而有重新整理權杖可用時的自動權杖重新整理
  • 支援非同步方法呼叫

注意

尋找 Azure AD v2.0 程式庫嗎? 請參閱 MSAL 程式庫指南

警告

Azure Active Directory 驗證程式庫 (ADAL) 已被取代。 請使用 Microsoft 驗證程式庫 (MSAL) 。 如果您有使用 ADAL 的現有應用程式,請務必 將它們遷移至 MSAL

Microsoft 支援的用戶端程式庫

平台 程式庫 下載 原始程式碼 範例 參考
.NET 用戶端、Windows 市集、UWP、Xamarin iOS 和 Android ADAL .NET v3 NuGet GitHub 傳統型應用程式
JavaScript ADAL.js GitHub GitHub 單一頁面應用程式
iOS、macOS ADAL GitHub GitHub iOS App
Android ADAL Maven GitHub Android App JavaDocs
Node.js ADAL npm \(英文\) GitHub Node.js Web 應用程式 參考
Java ADAL4J Maven GitHub Java Web 應用程式 參考
Python ADAL GitHub GitHub Python Web 應用程式 參考

Microsoft 支援的伺服器程式庫

平台 程式庫 下載 原始程式碼 範例 參考
.NET 適用於 AzureAD 的 OWIN NuGet GitHub MVC 應用程式
.NET 適用於 OpenIDConnect 的 OWIN NuGet GitHub Web 應用程式
.NET 適用於 WS-同盟的 OWIN NuGet GitHub MVC Web 應用程式
.NET 適用於 .NET 4.5 的身分識別通訊協定延伸模組 NuGet GitHub
.NET 適用於 .NET 4.5 的 JWT 處理常式 NuGet GitHub
Node.js Azure AD Passport npm \(英文\) GitHub Web API

案例

以下為三種在存取遠端資源的用戶端中使用 ADAL 的常見案例:

驗證在裝置上執行原生用戶端應用程式的使用者

在此案例中,開發人員具有的行動用戶端或桌面應用程式必須存取遠端資源,例如 Web API。 Web API 不允許匿名呼叫,而且必須在通過驗證之使用者的內容中呼叫。 Web API 會預先設定成信任由特定 Azure AD 租用戶發出的存取權杖。 Azure AD 會預先設定成發行該資源的存取權杖。 若要從用戶端叫用 Web API,則開發人員會使用 ADAL 來協助向 Azure AD 驗證。 使用 ADAL 最安全的方法,就是讓其提供用來收集使用者認證的使用者介面 (顯示為瀏覽器視窗)。

ADAL 使得驗證使用者變得輕鬆,只需取得存取權杖並從 Azure AD 重新整理權杖,然後使用該存取權杖呼叫 Web API。

如需示範如何向 Azure AD 進行驗證的程式碼範例,請參閱 原生用戶端 WPF 應用程式至 Web API

驗證網頁伺服器上執行的機密用戶端應用程式

在此案例中,開發人員具有在伺服器上執行且需要存取遠端資源 (例如 Web API) 的應用程式。 Web API 不允許匿名呼叫,且必須從授權的服務呼叫。 Web API 會預先設定成信任由特定 Azure AD 租用戶發出的存取權杖。 Azure AD 預先設定成將該資源的存取權杖發給具有用戶端認證 (用戶端 ID 和祕密) 的服務。 ADAL 可促進透過 Azure AD 進行服務驗證,Azure AD 會傳回可用於呼叫 Web API 的存取權杖。 ADAL 也會處理存取權杖的存留期的管理,方法是快取它並視需要更新。 如需示範此案例的程式碼範例,請參閱精靈主控台應用程式至 Web API

代表使用者,驗證伺服器上執行的機密用戶端應用程式

在此案例中,開發人員具有在伺服器上執行的 Web 應用程式,需要存取由 Azure AD 所保護的遠端資源,例如 Web API。 Web API 不允許匿名呼叫,因此必須從代表經驗證使用者的授權服務呼叫。 Web API 已預先設定為信任特定Microsoft Entra租使用者所簽發的存取權杖,且已預先設定Microsoft Entra識別碼,以使用該資源的存取權杖發行給具有用戶端認證的服務。 在 Web 應用程式中驗證使用者之後,應用程式就可以從Microsoft Entra識別碼取得使用者的授權碼。 接著,Web 應用程式可以使用 ADAL 來代表使用者取得存取權杖,並使用與應用程式相關聯的授權碼和用戶端認證,從Microsoft Entra識別碼取得存取權杖和重新整理權杖。 在 Web 應用程式取得存取權杖之後,它可以呼叫 Web API,直到權杖到期。 權杖到期時,Web 應用程式可以使用 ADAL 透過先前收到的更新權杖來取得新的存取權杖。 如需示範此案例的程式碼範例,請參閱原生用戶端至 Web API

另請參閱