Библиотеки проверки подлинности Azure Active Directory

Предупреждение

В этом руководстве используется устаревшая конечная точка Azure Active Directory версии 1.0. Для новых проектов используйте платформу удостоверений Майкрософт.

Библиотека аутентификации Azure Active Directory (ADAL) версии 1.0 позволяет разработчикам приложений проверять подлинность пользователей в облачной или локальной среде Active Directory (AD) и получать маркеры для защиты вызовов API. ADAL упрощает для разработчиков работу с проверкой подлинности, предоставляя такие возможности, как:

  • настраиваемый кэш маркеров, в котором хранятся маркеры доступа и маркеры обновления;
  • автоматическое обновление маркеров после истечения срока их действия, если доступен маркер обновления;
  • поддержка асинхронных вызовов методов;

Примечание

Ищете библиотеки Azure AD версии 2.0 (MSAL)? Ознакомьтесь с руководством по библиотекам MSAL.

Предупреждение

Поддержка библиотеки проверки подлинности Active Directory (ADAL) завершится в июне 2023 г. Приложения, использующие ADAL в существующих версиях ОС, будут работать и дальше, но не будут получать техническую поддержку и обновления системы безопасности. Без постоянных обновлений приложения, использующие ADAL, будут становиться все более уязвимыми для новейших шаблонов атак на систему безопасности. Дополнительные сведения см. в статье о переносе приложений в MSAL.

Клиентские библиотеки, поддерживаемые корпорацией Майкрософт

Платформа Библиотека Скачать Исходный код Образец Справочник
Клиент .NET, Магазин Windows, UWP, Xamarin iOS и Android ADAL .NET версии 3 NuGet GitHub Классическое приложение
JavaScript ADAL.js GitHub GitHub Одностраничное приложение
iOS, macOS ADAL GitHub GitHub Приложение iOS Ссылки
Android ADAL Maven GitHub Приложение Android Javadocs
Node.js ADAL npm GitHub Веб-приложение Node.js Ссылки
Java ADAL4J Maven GitHub Веб-приложение Java Ссылки
Python ADAL GitHub GitHub Веб-приложение Python Ссылки

Серверные библиотеки, поддерживаемые корпорацией Майкрософт

Платформа Библиотека Скачать Исходный код Образец Справочник
.NET OWIN для AzureAD NuGet GitHub Приложение MVC
.NET OWIN для OpenIDConnect NuGet GitHub Веб-приложение
.NET OWIN для WS-Federation NuGet GitHub Веб-приложение MVC
.NET Расширения протокола удостоверения для .NET 4.5 NuGet GitHub
.NET Обработчик JWT для .NET 4.5 NuGet GitHub
Node.js Azure AD Passport npm GitHub Веб-интерфейс API

Сценарии

Ниже приведены три типичных сценария использования ADAL в клиенте, который обращается к удаленному ресурсу:

Проверка подлинности пользователей собственного клиентского приложения, выполняющегося на устройстве

В этом сценарии у разработчика есть мобильное клиентское или классическое приложение, которому требуется доступ к удаленному ресурсу, например к веб-API. Веб-API не допускает анонимные вызовы и должен вызываться в контексте пользователя, прошедшего проверку подлинности. Для веб-API предварительно настроено доверие для маркеров доступа, выданных конкретным клиентом Azure AD. Azure AD предварительно настроен для выдачи маркеров доступа для этого ресурса. Чтобы вызвать веб-API из клиента, разработчик использует библиотеку ADAL для упрощения проверки подлинности в Azure AD. Для обеспечения максимальной защиты необходимо использовать ADAL для отображения пользовательского интерфейса, в котором пользователь вводит учетные данные (отображается в окне браузера).

ADAL упрощает проверку подлинности пользователя, получение маркера доступа и маркера обновления от Azure AD и вызовы к веб-API с помощью маркера доступа.

Пример кода, который демонстрирует этот сценарий с использованием проверки подлинности Azure AD, см. в разделе Собственное клиентское приложение WPF для веб-интерфейса API.

Проверка подлинности конфиденциального клиентского приложения, выполняющегося на веб-сервере

В этом сценарии у разработчика есть запущенное на сервере приложение, которому требуется доступ к удаленному ресурсу, например, к веб-API. Веб-API не допускает анонимных вызовов, поэтому он должен быть вызван из службы, прошедшей проверку подлинности. Для веб-API предварительно настроено доверие для маркеров доступа, выданных конкретным клиентом Azure AD. Azure AD предварительно настроен для выдачи маркеров доступа для этого ресурса службе с учетными данными клиента (идентификатор клиента и секрет клиента). ADAL упрощает проверку подлинности службы в Azure AD, возвращая маркер доступа, который может использоваться для вызова веб-API. ADAL также управляет жизненным циклом маркера доступа, кэшируя его и возобновляя его действие при необходимости. Пример кода для такого сценария представлен в описании консольной управляющей программы для веб-API.

Проверка подлинности конфиденциального клиентского приложения, выполняющегося на веб-сервере, от имени пользователя

В этом сценарии у разработчика есть запущенное на сервере веб-приложение, которому требуется доступ к удаленному ресурсу, например к веб-API. Веб-API не допускает анонимных вызовов, поэтому он должен быть вызван из службы, прошедшей проверку подлинности, от имени пользователя, прошедшего проверку подлинности. Для веб-API предварительно настроено доверие для маркеров доступа, выданных конкретным клиентом Azure AD. Azure AD предварительно настроен для выдачи маркеров доступа для этого ресурса службе с учетными данными клиента. После того как пользователь прошел проверку подлинности для веб-приложения, оно может получить код проверки подлинности пользователя из Azure AD. Затем веб-приложение может использовать ADAL для получения маркера доступа и обновления маркера от имени пользователя с помощью кода проверки подлинности и учетных данных клиента, связанных с приложением в Azure AD. После получения маркера доступа приложение может обращаться к веб-интерфейсу API до истечения срока действия маркера. После истечения срока действия маркера веб-приложение может использовать ADAL для получения нового маркера доступа с помощью обновления маркера, полученного ранее. Пример кода для такого сценария представлен в описании собственного клиента для веб-API.

См. также: