Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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
- ConfidentialClientTokenCache — консольное приложение с кэшем маркеров
- active-directory-dotnetcore-daemon-v2 — демон с сертификатом из Хранилища ключей
Примеры OWIN
- ms-identity-aspnet-webapp-openidconnect — ASP.NET MVC с Microsoft. Identity.Web.OWIN