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.
Mit der Azure Active Directory-Authentifizierungsbibliothek (ADAL) v1.0 können Anwendungsentwickler Benutzer bei Cloud oder lokalem Active Directory (AD) authentifizieren und Token zum Sichern von API-Aufrufen abrufen. ADAL erleichtert Entwicklern die Authentifizierung durch Features wie:
- Konfigurierbarer Tokencache, der Zugriffstoken und Aktualisierungstoken speichert
- 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? Auschecken des MSAL-Bibliothekshandbuchs.
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 | Herunterladen | Quellcode | Beispiel | Referenz |
---|---|---|---|---|---|
.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-App | JavaDocs- |
Node.js | ADAL | npm | GitHub | Node.js Web-App- | Referenz |
Java | ADAL4J | Maven | GitHub | Java-Web-Anwendung | Referenz |
Python | ADAL | GitHub | GitHub | Python Web App- | Referenz |
Von Microsoft unterstützte Serverbibliotheken
Plattform | Bibliothek | Herunterladen | Quellcode | Beispiel | Referenz |
---|---|---|---|---|---|
.NET | OWIN für AzureAD | 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
Hier sind drei häufige Szenarien für die Verwendung von ADAL in einem Client, die auf eine Remoteressource zugreift:
Authentifizieren von Benutzern einer systemeigenen Clientanwendung, die auf einem Gerät ausgeführt wird
In diesem Szenario verfügt ein Entwickler über einen mobilen Client oder eine Desktopanwendung, die auf eine Remoteressource zugreifen muss, z. B. eine Web-API. Die Web-API lässt keine anonymen Aufrufe zu und muss im Kontext eines authentifizierten Benutzers aufgerufen werden. Die Web-API ist vorkonfiguriert, um Zugriffstoken zu vertrauen, die von einem bestimmten Azure AD-Mandanten ausgestellt wurden. Azure AD ist vorkonfiguriert, um Zugriffstoken für diese Ressource auszugeben. Um die Web-API vom Client aufzurufen, verwendet der Entwickler ADAL, um die Authentifizierung mit Azure AD zu vereinfachen. Die sicherste Möglichkeit zur Verwendung von ADAL besteht darin, dass sie die Benutzeroberfläche zum Sammeln von Benutzeranmeldeinformationen rendert (gerendert als Browserfenster).
ADAL erleichtert die Authentifizierung des Benutzers, das Abrufen eines Zugriffstokens und eines Aktualisierungstokens aus Azure AD, und ruft dann die Web-API mithilfe des Zugriffstokens auf.
Ein Codebeispiel, das dieses Szenario mithilfe der Authentifizierung für Azure AD veranschaulicht, finden Sie unter Native Client WPF Application to Web API.
Authentifizieren einer vertraulichen Clientanwendung, die auf einem Webserver ausgeführt wird
In diesem Szenario verfügt ein Entwickler über eine Anwendung, die auf einem Server ausgeführt wird, der auf eine Remoteressource zugreifen muss, z. B. eine Web-API. Die Web-API lässt keine anonymen Aufrufe zu, daher muss sie von einem autorisierten Dienst aufgerufen werden. Die Web-API ist vorkonfiguriert, um Zugriffstoken zu vertrauen, die von einem bestimmten Azure AD-Mandanten ausgestellt wurden. Azure AD ist vorkonfiguriert, um Zugriffstoken für diese Ressource für einen Dienst mit Clientanmeldeinformationen (Client-ID und geheimer Clientschlüssel) auszugeben. ADAL erleichtert die Authentifizierung des Diensts mit Azure AD, um ein Zugriffstoken zurückzugeben, das zum Aufrufen der Web-API verwendet werden kann. ADAL behandelt auch 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.
Authentifizieren einer vertraulichen Clientanwendung, die auf einem Server ausgeführt wird, im Auftrag eines Benutzers
In diesem Szenario verfügt ein Entwickler über eine Webanwendung, die auf einem Server ausgeführt wird, der auf eine Remoteressource zugreifen muss, z. B. eine Web-API. Die Web-API lässt keine anonymen Aufrufe zu, daher muss sie von einem autorisierten Dienst im Namen eines authentifizierten Benutzers aufgerufen werden. Die Web-API ist vorkonfiguriert, um Zugriffstoken zu vertrauen, die von einem bestimmten Microsoft Entra-Mandanten ausgestellt wurden, und Die Microsoft Entra-ID ist vorkonfiguriert, um Zugriffstoken für diese Ressource für einen Dienst mit Clientanmeldeinformationen auszugeben. Sobald der Benutzer in der Webanwendung authentifiziert wurde, kann die Anwendung einen Autorisierungscode für den Benutzer aus der Microsoft Entra-ID abrufen. Die Webanwendung kann dann ADAL verwenden, um ein Zugriffstoken und Aktualisierungstoken im Namen eines Benutzers mithilfe des Autorisierungscodes und der Clientanmeldeinformationen abzurufen, die der Anwendung aus der Microsoft Entra-ID zugeordnet sind. Sobald die Webanwendung im Besitz des Zugriffstokens ist, kann sie die Web-API aufrufen, bis das Token abläuft. Wenn das Token abläuft, kann die Webanwendung ADAL verwenden, um ein neues Zugriffstoken mithilfe des zuvor empfangenen Aktualisierungstokens abzurufen. Ein Codebeispiel, das dieses Szenario veranschaulicht, finden Sie unter Native Client to Web API to Web API.