Biblioteka uwierzytelniania usługi Azure Active Directory

Ostrzeżenie

Ta zawartość jest przeznaczona dla starszego punktu końcowego Azure AD w wersji 1.0. Użyj Platforma tożsamości Microsoft dla nowych projektów.

Biblioteka Azure Active Directory Authentication Library (ADAL) w wersji 1.0 umożliwia deweloperom aplikacji uwierzytelnianie użytkowników w chmurze lub lokalna usługa Active Directory (AD) i uzyskiwanie tokenów na potrzeby zabezpieczania wywołań interfejsu API. Biblioteka ADAL ułatwia deweloperom uwierzytelnianie za pomocą takich funkcji jak:

  • Konfigurowalna pamięć podręczna tokenów, która przechowuje tokeny dostępu i tokeny odświeżania
  • Automatyczne odświeżanie tokenu po wygaśnięciu tokenu dostępu i udostępnieniu tokenu odświeżania
  • Obsługa wywołań metod asynchronicznych

Uwaga

Szukasz bibliotek Azure AD w wersji 2.0? Wyewidencjonuj przewodnik po bibliotece MSAL.

Ostrzeżenie

Biblioteka uwierzytelniania usługi Azure Active Directory (ADAL) została przestarzała. Użyj biblioteki Microsoft Authentication Library (MSAL). Jeśli masz istniejące aplikacje korzystające z biblioteki ADAL, upewnij się, że zostały zmigrowane do biblioteki MSAL.

Biblioteki klienckie obsługiwane przez firmę Microsoft

Platforma Biblioteka Pobierz Kod źródłowy Przykład Odwołanie
Klient platformy .NET, Sklep Windows, platforma UWP, platforma Xamarin dla systemów iOS i Android ADAL .NET v3 NuGet GitHub Aplikacja klasyczna
JavaScript ADAL.js GitHub GitHub Aplikacja jednostronicowa
iOS, macOS ADAL GitHub GitHub Aplikacja dla systemu iOS
Android ADAL Maven GitHub Aplikacja dla systemu Android JavaDocs
Node.js ADAL npm GitHub Aplikacja internetowa Node.js Odwołanie
Java ADAL4J Maven GitHub Aplikacje internetowe w języku Java Odwołanie
Python ADAL GitHub GitHub Aplikacja internetowa w języku Python Odwołanie

Biblioteki serwerów obsługiwane przez firmę Microsoft

Platforma Biblioteka Pobierz Kod źródłowy Przykład Dokumentacja
.NET OWIN dla usługi AzureAD NuGet GitHub Aplikacja MVC
.NET OWIN for OpenIDConnect NuGet GitHub Aplikacja internetowa
.NET OWIN dla WS-Federation NuGet GitHub Aplikacja internetowa MVC
.NET Rozszerzenia protokołu Identity Protocol dla platformy .NET 4.5 NuGet GitHub
.NET Program obsługi JWT dla platformy .NET 4.5 NuGet GitHub
Node.js Azure AD Passport npm GitHub Interfejs API sieci Web

Scenariusze

Poniżej przedstawiono trzy typowe scenariusze używania biblioteki ADAL w kliencie, który uzyskuje dostęp do zasobu zdalnego:

Uwierzytelnianie użytkowników natywnej aplikacji klienckiej uruchomionej na urządzeniu

W tym scenariuszu deweloper ma klienta mobilnego lub aplikację klasyczną, która musi uzyskać dostęp do zasobu zdalnego, takiego jak internetowy interfejs API. Internetowy interfejs API nie zezwala na wywołania anonimowe i musi być wywoływany w kontekście uwierzytelnionego użytkownika. Internetowy interfejs API jest wstępnie skonfigurowany do zaufania tokenów dostępu wystawionych przez określoną dzierżawę Azure AD. Azure AD jest wstępnie skonfigurowany do wystawiania tokenów dostępu dla tego zasobu. Aby wywołać internetowy interfejs API od klienta, deweloper korzysta z biblioteki ADAL w celu ułatwienia uwierzytelniania za pomocą Azure AD. Najbezpieczniejszym sposobem korzystania z biblioteki ADAL jest renderowanie interfejsu użytkownika na potrzeby zbierania poświadczeń użytkownika (renderowanych jako okno przeglądarki).

Biblioteka ADAL ułatwia uwierzytelnianie użytkownika, uzyskiwanie tokenu dostępu i odświeżanie tokenu z Azure AD, a następnie wywoływanie internetowego interfejsu API przy użyciu tokenu dostępu.

Aby zapoznać się z przykładem kodu, który demonstruje ten scenariusz przy użyciu uwierzytelniania do Azure AD, zobacz Natywna aplikacja WPF klienta do internetowego interfejsu API.

Uwierzytelnianie poufnej aplikacji klienckiej uruchomionej na serwerze internetowym

W tym scenariuszu deweloper ma aplikację działającą na serwerze, który musi uzyskać dostęp do zasobu zdalnego, takiego jak internetowy interfejs API. Internetowy interfejs API nie zezwala na wywołania anonimowe, dlatego musi być wywoływany z autoryzowanej usługi. Internetowy interfejs API jest wstępnie skonfigurowany do zaufania tokenów dostępu wystawionych przez określoną dzierżawę Azure AD. Azure AD jest wstępnie skonfigurowany do wystawiania tokenów dostępu dla tego zasobu do usługi z poświadczeniami klienta (identyfikator klienta i wpis tajny). Biblioteka ADAL ułatwia uwierzytelnianie usługi przy użyciu Azure AD zwracania tokenu dostępu, który może służyć do wywoływania internetowego interfejsu API. Biblioteka ADAL obsługuje również zarządzanie okresem istnienia tokenu dostępu przez buforowanie go i odnawianie go w razie potrzeby. Aby zapoznać się z przykładem kodu, który demonstruje ten scenariusz, zobacz Aplikacja konsolowa demona do internetowego interfejsu API.

Uwierzytelnianie poufnej aplikacji klienckiej uruchomionej na serwerze w imieniu użytkownika

W tym scenariuszu deweloper ma aplikację internetową działającą na serwerze, który musi uzyskać dostęp do zasobu zdalnego, takiego jak internetowy interfejs API. Internetowy interfejs API nie zezwala na wywołania anonimowe, dlatego musi być wywoływany z autoryzowanej usługi w imieniu uwierzytelnionego użytkownika. Internetowy interfejs API jest wstępnie skonfigurowany do ufania tokenom dostępu wystawionym przez określoną dzierżawę Microsoft Entra, a identyfikator Microsoft Entra jest wstępnie skonfigurowany do wystawiania tokenów dostępu dla tego zasobu do usługi z poświadczeniami klienta. Po uwierzytelnieniu użytkownika w aplikacji internetowej aplikacja może uzyskać kod autoryzacji dla użytkownika z identyfikatora Microsoft Entra. Aplikacja internetowa może następnie użyć biblioteki ADAL do uzyskania tokenu dostępu i tokenu odświeżania w imieniu użytkownika przy użyciu kodu autoryzacji i poświadczeń klienta skojarzonych z aplikacją z identyfikatora Microsoft Entra. Gdy aplikacja internetowa jest w posiadaniu tokenu dostępu, może wywołać internetowy interfejs API do momentu wygaśnięcia tokenu. Po wygaśnięciu tokenu aplikacja internetowa może użyć biblioteki ADAL do uzyskania nowego tokenu dostępu przy użyciu tokenu odświeżania, który został wcześniej odebrany. Aby zapoznać się z przykładem kodu, który demonstruje ten scenariusz, zobacz Native client to Web API to Web API (Klient natywny z internetowym interfejsem API do internetowego interfejsu API).

Zobacz też