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 應用程式 | |
安卓 | ADAL | Maven | GitHub | Android 應用程式 | JavaDocs |
Node.js | ADAL | npm | GitHub | Node.js Web 應用程式 | 參考 |
爪哇島 | ADAL4J | Maven | GitHub | Java Web 應用程式 | 參考 |
Python(程式語言) | ADAL | GitHub | GitHub | Python Web 應用程式 | 參考 |
Microsoft支援的伺服器連結庫
平台 | 圖書館 | 下載 | 原始程式碼 | 範例 | 參考文獻 |
---|---|---|---|---|---|
.NET | OWIN for AzureAD | NuGet | GitHub | MVC 應用程式 | |
.NET | OWIN for OpenIDConnect | NuGet | GitHub | Web 應用程式 | |
.NET | 適用於 WS-Federation 的 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 驗證示範此案例的程式代碼範例,請參閱 Native Client WPF Application to Web API。
驗證在網頁伺服器上執行的機密用戶端應用程式
在此案例中,開發人員在需要存取遠端資源的伺服器上執行的應用程式,例如 Web API。 Web API 不允許匿名呼叫,因此必須從授權的服務呼叫它。 Web API 已預先設定為信任特定 Azure AD 租使用者所簽發的存取令牌。 Azure AD 已預先設定為向具有客戶端認證的服務發出存取令牌(用戶端識別元和秘密)。 ADAL 可協助使用 Azure AD 驗證服務,並傳回可用來呼叫 Web API 的存取令牌。 ADAL 也會藉由快取存取令牌並視需要更新令牌,來處理管理存取令牌的存留期。 如需示範此案例的程式代碼範例,請參閱將精靈控制台應用程式 至 Web API。
代表使用者驗證伺服器上執行的機密用戶端應用程式
在此案例中,開發人員會在需要存取遠端資源的伺服器上執行 Web 應用程式,例如 Web API。 Web API 不允許匿名呼叫,因此必須代表已驗證的使用者從授權服務呼叫它。 Web API 已預先設定為信任由特定Microsoft Entra 租使用者所簽發的存取令牌,且Microsoft Entra 標識碼已預先設定為發行該資源的存取令牌給具有客戶端認證的服務。 在 Web 應用程式中驗證使用者之後,應用程式可以從 Microsoft Entra ID 取得使用者的授權碼。 然後,Web 應用程式可以使用 ADAL,代表使用者,使用與應用程式相關聯的授權碼和客戶端認證,從 Microsoft Entra ID 取得存取令牌和重新整理令牌。 一旦 Web 應用程式擁有存取令牌,就可以呼叫 Web API,直到令牌到期為止。 令牌到期時,Web 應用程式可以使用ADAL來取得新的存取令牌,方法是使用先前收到的重新整理令牌。 如需示範此案例的程式代碼範例,請參閱將原生用戶端 Web API 至 Web API。
另請參閱
- Azure Active Directory 開發人員指南
- Azure Active Directory 的 驗證案例
- Azure Active Directory 程式代碼範例