Интеграция Microsoft. Identity.Web с платформой ASP.NET Framework и .NET standard

Microsoft. Identity.Web расширяет проверку подлинности Microsoft Entra ID для .NET Framework и .NET стандартных приложений. Эта статья поможет выбрать правильный пакет и шаблон интеграции для вашего сценария.

Выбор сценария

Выберите шаблон интеграции, соответствующий типу приложения. Microsoft Entra предлагает различные пакеты для веб-приложений и фоновых служб.

MSAL.NET с пакетами Microsoft.Identity.Web

Для консольных приложений, фоновых служб и не веб-приложений .NET Framework

Используйте пакеты Microsoft.Identity.Web.TokenCache и Microsoft.Identity.Web.Certificate с MSAL.NET для:

  • Сериализация кэша токенов (SQL Server, Redis, Cosmos DB, PostgreSQL)
  • Загрузка сертификатов из KeyVault, хранилища сертификатов или файловой системы
  • Консольные приложения и службы управляющей программы
  • библиотеки .NET standard 2.0

MSAL.NET с Microsoft. Identity.Web Guide


Интеграция OWIN для ASP.NET MVC/веб-API

Для приложений ASP.NET MVC и Web API

Используйте пакет Microsoft.Identity.Web.OWIN для полнофункциональной аутентификации в вебе, используя:

  • TokenAcquirerFactory для автоматического получения токенов
  • Расширения контроллера для простого доступа к Microsoft Graph и зависимым API.
  • Поддержка распределенного кэша токенов
  • Добавочная обработка согласия

Руководство по интеграции OWIN


Сравнение параметров интеграции

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

Функция MSAL.NET + TokenCache/Certificate Интеграция OWIN
Пакет Microsoft. Identity.Web.TokenCache
Microsoft.Identity.Web.Certificate
Microsoft.Identity.Web.OWIN
Цель Консольные приложения, демоны, рабочие службы ASP.NET MVC, веб-API ASP.NET
Аутентификация Настройка MSAL.NET вручную Автоматическое промежуточное ПО OWIN
Получение токена Вручную с помощью IConfidentialClientApplication Автоматическая работа с расширениями для контроллера
Кэш токенов Все поставщики (SQL, Redis, Cosmos, PostgreSQL) Все поставщики (SQL, Redis, Cosmos, PostgreSQL)
Загрузка сертификата KeyVault, хранилище, файл, Base64 С помощью конфигурации MSAL.NET
Microsoft Graph Настройка вручную GraphServiceClient this.GetGraphServiceClient()
Подчиненные API Ручные вызовы HTTP с токенами this.GetDownstreamApi()
Добавочное согласие Обработка проблем вручную Автоматически с помощью MsalUiRequiredException

Проверка доступных пакетов

Начиная с Microsoft. Identity.Web 1.17+ можно использовать библиотеки удостоверений Microsoft в средах, отличных от ASP.NET Core. Следующие пакеты предназначены для .NET Framework и .NET стандартных рабочих нагрузок.

Доступные пакеты

Package Purpose Целевые приложения
Microsoft. Identity.Web.TokenCache Сериализаторы кэша токенов для MSAL.NET Консоль, управляющая программа, рабочие службы
Microsoft. Identity.Web.Certificate Служебные программы загрузки сертификатов Консоль, управляющая программа, рабочие службы
Microsoft. Identity.Web.OWIN Интеграция ПО промежуточного слоя OWIN ASP.NET MVC, веб-API ASP.NET

Общие сведения о преимуществах пакета

Эти пакеты упрощают распространенные задачи проверки подлинности без ASP.NET Core.

Функция Преимущество
Сериализация кэша токенов Многократно используемые адаптеры кэша для оперативной памяти, SQL Server, PostgreSQL, Redis, Cosmos DB
Вспомогательные службы сертификатов Упрощенная загрузка сертификатов из KeyVault, файловой системы или хранилища сертификатов
Интеграция OWIN Простая проверка подлинности для ASP.NET MVC/веб-API
.NET Standard 2.0 Совместим с .NET Framework 4.7.2+, .NET Core и .NET 5+
Минимальные зависимости Целевые пакеты без зависимостей ASP.NET Core

Изучение примеров приложений

Используйте эти примеры в качестве отправных точек для собственной реализации.

примеры MSAL.NET

Примеры OWIN