Библиотеки проверки подлинности на платформе удостоверений Майкрософт
В следующих таблицах показана поддержка библиотек проверки подлинности Майкрософт для различных типов приложений. Они включают ссылки на исходный код библиотеки, по которым можно получить пакет для проекта приложения, а также сведения о том, поддерживает ли библиотека вход пользователя в систему (проверку подлинности), доступ к защищенным веб-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 | Краткое руководство | Общедоступная версия | ||
Angular | MSAL для Angular3 | msal — angular | — | Общедоступная версия | ||
AngularJS | MSAL для AngularJS3 | msal — angularjs | — | Общедоступная предварительная версия | ||
JavaScript | MSAL.js v22 | msal — браузер | Руководство | Общедоступная версия | ||
JavaScript | MSAL.js 1.03 | msal — ядро | — | Общедоступная версия | ||
React | MSAL для React2 | msal — react | Краткое руководство | Общедоступная версия |
1 Универсальные условия лицензионного соглашения для веб-служб применяются к библиотекам в общедоступной предварительной версии.
2 Поток кода проверки подлинности только с PKCE (рекомендуется).
3 Неявный поток предоставления (не рекомендуется).
Веб-приложение
Веб-приложение выполняет код на сервере, который создает и отправляет HTML, CSS и JavaScript в веб-браузер пользователя для подготовки к просмотру. Удостоверение пользователя поддерживается в качестве сеанса между браузером пользователя (интерфейсной частью) и веб-сервером (серверной частью).
В связи с тем, что код веб-приложения выполняется на веб-сервере, он считается конфиденциальным клиентом, который может безопасно хранить секреты.
Язык или платформа | Проект на сайте GitHub |
Пакет | Получение из этих вариантов |
Выполнение входа пользователей | Доступ к веб-API | Общедоступная версия (GA) или Общедоступная предварительная версия1 |
|
---|---|---|---|---|---|---|---|
.NET | MSAL для .NET | Microsoft.Identity.Client | — | Общедоступная версия | |||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | Общедоступная версия | |
ASP.NET Core | Microsoft.Identity.Web | Microsoft.Identity.Web | Краткое руководство | Общедоступная версия | |||
Java | MSAL4J | msal4j | Краткое руководство | Общедоступная версия | |||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | Руководство | Общедоступная версия | |||
Node.js | Узел MSAL | msal-node | Краткое руководство | Общедоступная версия | |||
Python | MSAL Python | msal | Общедоступная версия | ||||
Python | identity | identity | Краткое руководство | -- |
(1) Условия универсального лицензионного соглашения для веб-служб применяются к библиотекам в общедоступной предварительной версии.
(2) Библиотека Microsoft.IdentityModel проверяет только маркеры. Он не может запрашивать идентификатор или маркеры доступа.
Классическое приложение
Классическое приложение обычно представлено двоичным (скомпилированным) кодом, который отображает пользовательский интерфейс и предназначен для запуска на компьютере пользователя.
Так как классическое приложение выполняется на компьютере пользователя, оно считается общедоступным клиентом, который не может безопасно хранить секреты.
Язык или платформа | Проект на сайте GitHub |
Пакет | Получение из этих вариантов |
Выполнение входа пользователей | Доступ к веб-API | Общедоступная версия (GA) или Общедоступная предварительная версия1 |
---|---|---|---|---|---|---|
Electron | MSAL Node.js | msal-node | — | Общедоступная предварительная версия | ||
Java | MSAL4J | msal4j | — | Общедоступная версия | ||
macOS (Swift/Obj-C) | MSAL для iOS и macOS | MSAL | Руководство | Общедоступная версия | ||
UWP | MSAL для .NET | Microsoft.Identity.Client | Руководство | Общедоступная версия | ||
WPF | MSAL для .NET | Microsoft.Identity.Client | Руководство | Общедоступная версия |
1 Универсальные условия лицензионного соглашения для веб-служб применяются к библиотекам в общедоступной предварительной версии.
Мобильное приложение
Мобильное приложение обычно представлено двоичным (скомпилированным) кодом, который отображает пользовательский интерфейс и предназначен для запуска на мобильном устройстве пользователя.
Так как мобильное приложение выполняется на мобильном устройстве пользователя, оно считается общедоступным клиентом, который не может безопасно хранить секреты.
Платформа | Проект на сайте GitHub |
Пакет | Получение из этих вариантов |
Выполнение входа пользователей | Доступ к веб-API | Общедоступная версия (GA) или Общедоступная предварительная версия1 |
---|---|---|---|---|---|---|
Android (Java) | MSAL Android | MSAL | Краткое руководство | Общедоступная версия | ||
Android (Kotlin) | MSAL Android | MSAL | — | Общедоступная версия | ||
iOS (Swift/Obj-C) | MSAL для iOS и macOS | MSAL | Руководство | Общедоступная версия | ||
Xamarin (.NET) | MSAL для .NET | Microsoft.Identity.Client | — | Общедоступная версия |
1 Универсальные условия лицензионного соглашения для веб-служб применяются к библиотекам в общедоступной предварительной версии.
Служба и управляющая программа
Службы и управляющие программы часто используются для межсерверных и других автоматических (иногда именуемых виртуальными) связей. Из-за отсутствия пользователя с клавиатурой для ввода учетных данных или предоставления согласия на доступ к ресурсам, эти приложения проходят проверку подлинности самостоятельно, а не с помощью пользователя при запросе разрешения на доступ к ресурсам веб-API.
Служба или управляющая программа, выполняемая на сервере, считается конфиденциальным клиентом, который может безопасно хранить свои секреты.
Язык или платформа | Проект на сайте GitHub |
Пакет | Получение из этих вариантов |
Выполнение входа пользователей | Доступ к веб-API | Общедоступная версия (GA) или Общедоступная предварительная версия1 |
---|---|---|---|---|---|---|
.NET | MSAL для .NET | Microsoft.Identity.Client | Краткое руководство | Общедоступная версия | ||
Java | MSAL4J | msal4j | — | Общедоступная версия | ||
Узел | Узел MSAL | msal-node | Краткое руководство | Общедоступная версия | ||
Python | MSAL Python | msal-python | Краткое руководство | Общедоступная версия |
1 Универсальные условия лицензионного соглашения для веб-служб применяются к библиотекам в общедоступной предварительной версии.
Следующие шаги
Дополнительные сведения о библиотеке проверки подлинности Майкрософт см. в статье Обзор библиотеки проверки подлинности Майкрософт (MSAL).