Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Microsoft. Identity.Web — это набор библиотек, упрощающий добавление проверки подлинности и авторизации в приложения, которые интегрируются с платформа удостоверений Майкрософт, включая Microsoft Entra ID. Он поддерживает:
- .NET Aspire распределенные приложения
- ASP.NET Core веб-приложения и веб-API
- приложения OWIN в .NET Framework
- .NET демон-приложения и фоновые службы
Вы создаете веб-приложения, в которых пользователи входят в систему, веб-API, которые проверяют токены, или фоновые службы, вызывающие защищенные API, Microsoft.Identity.Web обрабатывает сложность проверки подлинности для вас.
Зачем использовать Microsoft Identity Web?
Microsoft. Identity.Web уменьшает стандартный код и предоставляет встроенные рекомендации для распространенных сценариев идентификации. Ключевые возможности:
- Упрощенная проверка подлинности — минимальная конфигурация для входа пользователей и проверки маркеров
- вызовы API Downstream — вызовы Microsoft Graph, Azure SDKs или собственных защищенных API с автоматическим управлением токенами
- Получение токенов — получение токенов от имени пользователей или вашего приложения.
- управление кэшем Token — поддержка распределенного кэша с помощью Redis, SQL Server, Cosmos DB и PostgreSQL
- Несколько типов учетных данных . Поддержка сертификатов, управляемых удостоверений и проверки подлинности без сертификатов
- Заголовки автоматической авторизации . Проверка подлинности обрабатывается прозрачно при вызове API
Ознакомьтесь с пакетами NuGet для обзора всех доступных пакетов и их использования.
Вызов API с автоматической проверкой подлинности
Защищенные API можно вызывать без ручного управления маркерами. Microsoft. Identity.Web поддерживает следующие шаблоны интеграции:
-
Microsoft Graph — используйте
GraphServiceClientс автоматическим получением токенов -
Azure SDKs — используйте реализации
TokenCredential, которые интегрируются с Microsoft. Identity.Web -
Собственные API — используйте
IDownstreamApiилиIAuthorizationHeaderProviderдля простых вызовов API - Удостоверения агента — вызов API от имени управляемых сущностей или служебных принципалов с автоматической обработкой учетных данных
Заголовки проверки подлинности добавляются в ваши запросы автоматически, а токены автоматически получаются и кэшируются. Дополнительные сведения см. в руководстве по вызову downstream API, демон-приложений и идентификаций агента.
Подходы к конфигурации
Вы можете настроить Microsoft. Identity.Web через файлы параметров или программным способом. Оба подхода поддерживают все сценарии проверки подлинности.
Конфигурация по файлу (рекомендуется)
Настройка проверки подлинности в appsettings.json:
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "your-tenant-id",
"ClientId": "your-client-id"
}
}
Это важно
Для приложений управляющей программы и консольных приложений убедитесь, что файл appsettings.json копируется в выходной каталог. В Visual Studio установите для свойства Copy to Output Directory значение Copy if newer или Copy always, или добавьте следующее в .csproj:
<ItemGroup>
<None Update="appsettings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
Конфигурация по коду
Кроме того, настройте проверку подлинности непосредственно в коде запуска приложения:
builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(options =>
{
options.Instance = "https://login.microsoftonline.com/";
options.TenantId = "your-tenant-id";
options.ClientId = "your-client-id";
});
Дальнейшие действия
Выберите сценарий, соответствующий приложению:
- Web app — Вход для пользователей — добавьте проверку подлинности в веб-приложение ASP.NET Core
- Web API — защита API — защита веб-API ASP.NET Core с помощью маркеров носителя
- Приложение управляющей программы — вызов API - создание фоновых служб, вызывающих защищенные API