Библиотека аутентификации Майкрософт для .NET

MSAL.NET (Microsoft. Identity.Client) — это библиотека проверки подлинности, которая позволяет получать маркеры из Microsoft Entra ID для доступа к защищенным веб-API (Microsoft API или приложениям, зарегистрированным в Microsoft Entra ID).

MSAL.NET доступна на нескольких платформах .NET (классических, мобильных и веб-платформах).

Поддерживаемые платформы и архитектуры приложений

MSAL.NET поддерживает различные топологии приложений, в том числе:

Дополнительные сведения о поддерживаемых сценариях см. в разделе "Сценарии".

MSAL.NET поддерживает несколько платформ, включая .NET, платформу .NET и .NET MAUI.

Note

Не все функции проверки подлинности доступны на всех платформах.

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

Note

MSAL.NET оптимизировано для использования с Microsoft Entra ID в качестве поставщика удостоверений (IDP). Хотя можно использовать MSAL.NET с сторонними поставщиками удостоверений, поддерживающими OAuth 2. 0( особенно при использовании внедренных или системных браузеров(см. в документации по использованию браузера)) — взаимодействие не гарантируется. Microsoft не оказывает поддержку по проблемам, возникающим из-за интеграции со сторонними поставщиками удостоверений. Такие сценарии считаются лучшими и могут не решаться.

Note

MSAL.NET версии 4.61.0 и выше не поддерживают универсальная платформа Windows, Xamarin Android и Xamarin iOS. Узнайте больше о прекращении поддержки в Сообщении о предстоящем прекращении поддержки MSAL.NET для Xamarin и UWP.

Зачем использовать MSAL.NET?

MSAL.NET предоставляет несколько способов получения токена. Использование MSAL.NET проще, чем использование универсальных библиотек OAuth или написание вызовов к протоколу. MSAL.NET предоставляет несколько дополнительных преимуществ, упрощающих рабочий процесс разработчика:

  • Сохраняйте кэш маркеров и маркеры обновления для вас, когда они близки к истечению срока действия.
  • Помогает указать, какую аудиторию вы хотите использовать для входа в приложение (ваша организация, несколько организаций, рабочие или учебные учетные записи, личные учетные записи Microsoft, социальные учетные записи с Внешняя идентификация Microsoft Entra или пользователи в суверенных и национальных облаках).
  • Помогает настроить приложение с помощью файлов конфигурации .
  • Помогает устранять неполадки приложения, предоставляя информативные исключения, журналирование и телеметрию.

Начало работы с MSAL.NET

  1. Узнайте о сценариях использования MSAL.NET.
  2. Зарегистрируйте приложение с помощью Microsoft Entra ID.
  3. Сведения о типах клиентских приложений: общедоступный клиент и конфиденциальный клиент.
  4. Узнайте о получении маркеров для доступа к защищенному API.

Considerations

MSAL.NET используется для получения токенов. Он не используется для защиты веб-API. Если вы хотите защитить веб-API с помощью Microsoft Entra ID, ознакомьтесь со следующими сведениями:

  • Microsoft Entra ID с ASP.NET Core. Примеры демонстрации веб-приложений, которые вызывают веб-API с MSAL.NET.
  • Active-directory-dotnet-native-aspnetcore-v2 показывает, как вызывать веб-API ASP.NET Core из приложения WPF с помощью Microsoft Entra ID.
  • Библиотека с открытым исходным кодом IdentityModel extensions for .NET предоставляет компоненты промежуточного ПО, используемые в ASP.NET и ASP.NET Core для защиты API.

Миграция с библиотеки аутентификации Azure Active Directory (ADAL)

Microsoft Authentication Library (MSAL) для .NET — это поддерживаемая библиотека, которая используется для получения токенов проверки подлинности. Если вы или ваша организация используете библиотеку проверки подлинности Azure Active Directory (ADAL), необходимо перейти в MSAL. ADAL достигла конца жизни 30 июня 2023 года.

Note

Хотя ADAL не рекомендуется использовать с 30 июня 2023 года, приложения в зависимости от ADAL не должны прерываться, так как базовая конечная точка останется активной. Однако для ADAL не будут предложены новые функции или поддержка.

Релизы

Сведения о предыдущих выпусках см. в разделе Releases на GitHub.

Сведения о находящихся в разработке и будущих выпусках см. в разделе Вехи.

Дополнительные сведения об управлении версиями см. в статье Семантическое версионирование — управление изменениями API, чтобы понять изменения в публичном API MSAL.NET.

Samples

См . наш полный список примеров.