Обзор веб-сайта удостоверений Microsoft

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";
    });

Дальнейшие действия

Выберите сценарий, соответствующий приложению: