Библиотека проверки подлинности Azure Active Directory
Предупреждение
В этом руководстве используется устаревшая конечная точка Azure Active Directory версии 1.0. Для новых проектов используйте платформу удостоверений Майкрософт.
Библиотека аутентификации Azure Active Directory (ADAL) версии 1.0 позволяет разработчикам приложений проверять подлинность пользователей в облачной или локальной среде Active Directory (AD) и получать маркеры для защиты вызовов API. ADAL упрощает для разработчиков работу с проверкой подлинности, предоставляя такие возможности, как:
- настраиваемый кэш маркеров, в котором хранятся маркеры доступа и маркеры обновления;
- автоматическое обновление маркеров после истечения срока их действия, если доступен маркер обновления;
- поддержка асинхронных вызовов методов;
Примечание
Ищете библиотеки Azure AD версии 2.0? Ознакомьтесь с руководством по библиотекам MSAL.
Предупреждение
Библиотека проверки подлинности Azure Active Directory (ADAL) устарела. Используйте библиотеку проверки подлинности Майкрософт (MSAL). Если у вас есть приложения, использующие 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 предварительно настроен для доверия маркерам доступа, выданным определенным клиентом Microsoft Entra, а идентификатор Microsoft Entra предварительно настроен для выдачи маркеров доступа для этого ресурса службе с учетными данными клиента. После проверки подлинности пользователя в веб-приложении приложение может получить код авторизации пользователя из Microsoft Entra идентификатора. Затем веб-приложение может использовать ADAL для получения маркера доступа и обновления от имени пользователя с помощью кода авторизации и учетных данных клиента, связанных с приложением, из Microsoft Entra идентификатора. После получения маркера доступа приложение может обращаться к веб-интерфейсу API до истечения срока действия маркера. После истечения срока действия маркера веб-приложение может использовать ADAL для получения нового маркера доступа с помощью обновления маркера, полученного ранее. Пример кода для такого сценария представлен в описании собственного клиента для веб-API.