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

В следующих таблицах показана поддержка библиотек проверки подлинности Майкрософт для различных типов приложений. Они включают ссылки на исходный код библиотеки, по которым можно получить пакет для проекта приложения, а также сведения о том, поддерживает ли библиотека вход пользователя в систему (проверку подлинности), доступ к защищенным веб-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. GA
Angular MSAL для Angular3 msal — angular Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. GA
AngularJS MSAL для AngularJS3 msal — angularjs Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. Общедоступная предварительная версия
JavaScript MSAL.js v22 msal — браузер Руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. GA
JavaScript MSAL.js 1.03 msal — ядро Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. GA
React MSAL для React2 msal — react Руководство Библиотека может запросить маркеры идентификатора для входа пользователя. Библиотека может запросить маркеры доступа для защищенных веб-API. GA

1Дополнительные условия использования предварительных версий Microsoft Azure применяются к библиотекам в общедоступной предварительной версии.

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

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

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

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

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

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

1Дополнительные условия использования предварительных версий Microsoft Azure применяются к библиотекам в общедоступной предварительной версии.

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

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

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

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

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

1Дополнительные условия использования предварительных версий Microsoft Azure применяются к библиотекам в общедоступной предварительной версии.

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

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

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

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

1Дополнительные условия использования предварительных версий Microsoft Azure применяются к библиотекам в общедоступной предварительной версии.

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

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

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

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

1Дополнительные условия использования предварительных версий Microsoft Azure применяются к библиотекам в общедоступной предварительной версии.

Дальнейшие действия

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