Библиотеки проверки подлинности на платформе удостоверений Майкрософт

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

Платформа удостоверений Майкрософт сертифицирована OpenID Foundation как сертифицированный поставщик OpenID. Если вы предпочитаете использовать другую библиотеку вместо библиотеки проверки подлинности Майкрософт (MSAL) или другой библиотеки, поддерживаемой Майкрософт, выберите ее с помощью сертифицированной реализации OpenID Connect.

Если вы решили вручную написать код собственной реализации OAuth 2.0 или OpenID Connect 1.0 на уровне протокола, обратите внимание на вопросы безопасности в спецификации каждого стандарта и следуйте методологии проектирования безопасного ПО, например Microsoft SDL.

Одностраничное приложение (SPA)

Одностраничное приложение полностью выполняется в браузере и извлекает данные страницы (HTML, CSS и JavaScript) динамически или во время загрузки приложения. Оно может вызывать веб-API для взаимодействия с внутренними источниками данных.

Из-за того, что код одностраничного приложения полностью выполняется в браузере, он считается общедоступным клиентом, который не может безопасно хранить секреты.

Язык или платформа Проект на сайте
GitHub
Пакет Получение
из этих вариантов
Выполнение входа пользователей Доступ к веб-API Общедоступная версия (GA) или
Общедоступная предварительная версия1
Angular MSAL для Angular версии 22 msal — angular Руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Angular MSAL для Angular3 msal — angular Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
AngularJS MSAL для AngularJS3 msal — angularjs Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная предварительная версия
JavaScript MSAL.js v22 msal — браузер Руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
JavaScript MSAL.js 1.03 msal — ядро Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
React MSAL для React2 msal — react Руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия

1Универсальные условия лицензионного соглашения для веб-служб применяются к библиотекам в общедоступной предварительной версии.

2Поток кода проверки подлинности только с PKCE (рекомендуется).

3Только для потока неявного представления разрешения.

Веб-приложение

Веб-приложение выполняет код на сервере, который создает и отправляет HTML, CSS и JavaScript в веб-браузер пользователя для подготовки к просмотру. Удостоверение пользователя поддерживается в качестве сеанса между браузером пользователя (интерфейсной частью) и веб-сервером (серверной частью).

В связи с тем, что код веб-приложения выполняется на веб-сервере, он считается конфиденциальным клиентом, который может безопасно хранить секреты.

Язык или платформа Проект на сайте
GitHub
Пакет Получение
из этих вариантов
Выполнение входа пользователей Доступ к веб-API Общедоступная версия (GA) или
Общедоступная предварительная версия1
.NET MSAL для .NET Microsoft.Identity.Client Библиотека не может запрашивать маркеры идентификаторов для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
.NET Microsoft.IdentityModel Microsoft.IdentityModel Библиотека не может запрашивать маркеры идентификаторов для входа пользователя.2 Библиотека не может запрашивать маркеры доступа для защищенных веб-API.2 Общедоступная версия
ASP.NET Core ASP.NET Core Microsoft.AspNetCore.Authentication Краткое руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека не может запрашивать маркеры доступа для защищенных веб-API. Общедоступная версия
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web Краткое руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Java MSAL4J msal4j Краткое руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Spring spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory Руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Node.js Узел MSAL msal-node Краткое руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Python MSAL Python msal Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Python identity identity Краткое руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. --

(1)Условия универсальной лицензии для веб-служб применяются к библиотекам в общедоступной предварительной версии.

(2)Библиотека Microsoft.IdentityModel проверяет только маркеры. Он не может запрашивать идентификатор или маркеры доступа.

Классическое приложение

Классическое приложение обычно представлено двоичным (скомпилированным) кодом, который отображает пользовательский интерфейс и предназначен для запуска на компьютере пользователя.

Так как классическое приложение выполняется на компьютере пользователя, оно считается общедоступным клиентом, который не может безопасно хранить секреты.

Язык или платформа Проект на сайте
GitHub
Пакет Получение
из этих вариантов
Выполнение входа пользователей Доступ к веб-API Общедоступная версия (GA) или
Общедоступная предварительная версия1
Electron MSAL Node.js msal-node Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная предварительная версия
Java MSAL4J msal4j Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
macOS (Swift/Obj-C) MSAL для iOS и macOS MSAL Руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
UWP MSAL для .NET Microsoft.Identity.Client Руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
WPF MSAL для .NET Microsoft.Identity.Client Руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия

1Универсальные условия лицензионного соглашения для веб-служб применяются к библиотекам в общедоступной предварительной версии.

Мобильное приложение

Мобильное приложение обычно представлено двоичным (скомпилированным) кодом, который отображает пользовательский интерфейс и предназначен для запуска на мобильном устройстве пользователя.

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

Платформа Проект на сайте
GitHub
Пакет Получение
из этих вариантов
Выполнение входа пользователей Доступ к веб-API Общедоступная версия (GA) или
Общедоступная предварительная версия1
Android (Java) MSAL Android MSAL Краткое руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Android (Kotlin) MSAL Android MSAL Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
iOS (Swift/Obj-C) MSAL для iOS и macOS MSAL Руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Xamarin (.NET) MSAL для .NET Microsoft.Identity.Client Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия

1Универсальные условия лицензионного соглашения для веб-служб применяются к библиотекам в общедоступной предварительной версии.

Служба и управляющая программа

Службы и управляющие программы часто используются для межсерверных и других автоматических (иногда именуемых виртуальными) связей. Из-за отсутствия пользователя с клавиатурой для ввода учетных данных или предоставления согласия на доступ к ресурсам, эти приложения проходят проверку подлинности самостоятельно, а не с помощью пользователя при запросе разрешения на доступ к ресурсам веб-API.

Служба или управляющая программа, выполняемая на сервере, считается конфиденциальным клиентом, который может безопасно хранить свои секреты.

Язык или платформа Проект на сайте
GitHub
Пакет Получение
из этих вариантов
Выполнение входа пользователей Доступ к веб-API Общедоступная версия (GA) или
Общедоступная предварительная версия1
.NET MSAL для .NET Microsoft.Identity.Client Краткое руководство Библиотека не может запрашивать маркеры идентификаторов для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Java MSAL4J msal4j Библиотека не может запрашивать маркеры идентификаторов для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Узел Узел MSAL msal-node Краткое руководство Библиотека не может запрашивать маркеры идентификаторов для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия
Python MSAL Python msal-python Краткое руководство Библиотека не может запрашивать маркеры идентификаторов для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная версия

1Универсальные условия лицензионного соглашения для веб-служб применяются к библиотекам в общедоступной предварительной версии.

Следующие шаги

Дополнительные сведения о библиотеке проверки подлинности Майкрософт см. в статье Обзор библиотеки проверки подлинности Майкрософт (MSAL).