Azure Active Directory-Authentifizierungsbibliothek

Warnung

Dieser Inhalt gilt für den älteren v1.0-Endpunkt von Azure AD. Verwenden Sie Microsoft Identity Platform für neue Projekte.

Azure Active Directory Authentication Library (ADAL) v1.0 ermöglicht es Entwicklern von Anwendungen, eine Benutzerauthentifizierung mit Active Directory (AD) (Cloud oder lokal) bereitzustellen und Token zur Absicherung von API-Aufrufen abzurufen. ADAL bietet Entwicklern folgende Features, um die Authentifizierung zu vereinfachen:

  • Konfigurierbarer Tokencache zum Speichern von Zugriffs- und Aktualisierungstoken
  • Automatische Tokenaktualisierung, wenn ein Zugriffstoken abläuft und ein Aktualisierungstoken verfügbar ist
  • Unterstützung für asynchrone Methodenaufrufe

Hinweis

Suchen Sie nach den Azure AD v2.0-Bibliotheken? Sehen Sie den Leitfaden zu den MSAL-Bibliotheken ein.

Warnung

Die Azure Active Directory-Authentifizierungsbibliothek (Active Directory Authentication Library, ADAL) ist veraltet. Verwenden Sie die Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL). Wenn Sie über vorhandene Anwendungen verfügen, die ADAL verwenden, migrieren Sie diese unbedingt zu MSAL.

Von Microsoft unterstützte Clientbibliotheken

Plattform Bibliothek Download Quellcode Beispiel Verweis
.NET-Client, Windows Store, UWP, Xamarin iOS und Android ADAL .NET v3 NuGet GitHub Desktop-App
JavaScript ADAL.js GitHub GitHub Einseitige App
iOS, macOS ADAL GitHub GitHub iOS-App
Android ADAL Maven GitHub Android-Apps JavaDocs
Node.js ADAL npm GitHub Node.js-Web-Apps Referenz
Java ADAL4J Maven GitHub Java-Web-App Referenz
Python ADAL GitHub GitHub Python-Web-App Referenz

Von Microsoft unterstützte Serverbibliotheken

Plattform Bibliothek Download Quellcode Beispiel Verweis
.NET OWIN für Azure AD NuGet GitHub MVC-App
.NET OWIN für OpenIDConnect NuGet GitHub Web App
.NET OWIN für WS-Federation NuGet GitHub MVC-Web-App
.NET Identitätsprotokollerweiterungen für .NET 4.5 NuGet GitHub
.NET JWT-Handler für .NET 4.5 NuGet GitHub
Node.js Azure AD Passport npm GitHub Web-API

Szenarien

Im Folgenden werden drei allgemeine Szenarien für die Verwendung von ADAL in einem Client vorgestellt, der auf eine Remoteressource zugreift:

Authentifizieren von Benutzern einer auf einem Gerät ausgeführten nativen Clientanwendung

In diesem Szenario hat ein Entwickler eine mobile Client- oder Desktopanwendung erstellt, die auf eine Remoteressource (z.B. eine Web-API) zugreifen muss. Die Web-API lässt keine anonymen Aufrufe zu und muss im Kontext eines authentifizierten Benutzers aufgerufen werden. Die Web-API ist so vorkonfiguriert, dass sie den von einem bestimmten Azure AD-Mandanten ausgestellten Zugriffstoken vertraut. Azure AD ist für die Ausstellung von Zugriffstoken für diese Ressource vorkonfiguriert. Für den Aufruf der Web-API vom Client verwendet der Entwickler ADAL, um die Authentifizierung mit Azure AD zu vereinfachen. Die sicherste Möglichkeit zur Verwendung von ADAL besteht darin, darüber die Benutzeroberfläche für die Sammlung von Benutzeranmeldeinformationen (als Browserfenster gerendert) zu rendern.

Dank ADAL ist es einfach, den Benutzer zu authentifizieren, ein Zugriffstoken und ein Aktualisierungstoken aus Azure AD abzurufen und mithilfe des Zugriffstokens dann die Web-API aufzurufen.

Ein Codebeispiel, in dem dieses Szenario mithilfe von Authentifizierung für Azure AD veranschaulicht wird, finden Sie unter Systemeigene Client-WPF-Anwendung für Web-API.

Authentifizieren einer auf einem Webserver ausgeführten vertraulichen Clientanwendung

In diesem Szenario verwendet ein Entwickler eine Anwendung, die auf einem Server ausgeführt wird und auf eine Remoteressource (z.B. eine Web-API) zugreifen muss. Die Web-API lässt keine anonymen Aufrufe zu und muss daher von einem autorisierten Dienst aufgerufen werden. Die Web-API ist so vorkonfiguriert, dass sie den von einem bestimmten Azure AD-Mandanten ausgestellten Zugriffstoken vertraut. Azure AD ist für die Ausstellung von Zugriffstoken für diese Ressource für einen Dienst mit Clientanmeldeinformationen (Client-ID und Geheimnis) vorkonfiguriert. ADAL vereinfacht die Authentifizierung des Diensts bei Azure AD, wobei ein Zugriffstoken für den Aufruf der Web-API zurückgegeben werden kann. ADAL übernimmt außerdem die Verwaltung der Lebensdauer des Zugriffstokens, indem es zwischengespeichert und bei Bedarf erneuert wird. Ein Codebeispiel, das dieses Szenario veranschaulicht, finden Sie unter Daemon console Application to Web API (Daemon-Konsolenanwendung für Web-API).

Authentifizieren einer auf einem Server ausgeführten vertraulichen Clientanwendung im Namen eines Benutzers

In diesem Szenario verwendet ein Entwickler eine Webanwendung, die auf einem Server ausgeführt wird und auf eine Remoteressource (z.B. eine Web-API) zugreifen muss. Die Web-API lässt keine anonymen Aufrufe zu und muss daher im Auftrag eines authentifizierten Benutzers von einem autorisierten Dienst aufgerufen werden. Die Web-API ist so vorkonfiguriert, dass sie von einem bestimmten Microsoft Entra-Mandanten ausgestellte Zugriffstoken vertraut, während Microsoft Entra ID dafür vorkonfiguriert ist, dass Zugriffstokens für diese Ressource in einem Dienst mit Clientanmeldeinformationen ausgestellt werden. Sobald der Benutzer in der Webanwendung authentifiziert ist, kann die Anwendung einen Autorisierungscode für den Benutzer aus Microsoft Entra ID abrufen. Die Webanwendung kann dann ADAL verwenden, um im Auftrag eines Benutzers ein Zugriffstoken und ein Aktualisierungstoken abzurufen, wobei der Autorisierungscode und die Clientanmeldeinformationen verwendet werden, die der Anwendung aus Microsoft Entra ID zugeordnet sind. Sobald die Webanwendung im Besitz des Zugriffstokens ist, kann sie bis zum Ablauf des Tokens die Web-API aufrufen. Nach Ablauf des Tokens kann die Webanwendung über ADAL mit dem zuvor empfangenen Aktualisierungstoken ein neues Zugriffstoken abrufen. Ein Codebeispiel, das dieses Szenario veranschaulicht, finden Sie unter Native client to Web API to Web API (Nativer Clientaufruf zwischen Web-APIs).

Weitere Informationen