Microsoft Identity Web'e genel bakış

Microsoft. Identity.Web, Microsoft Entra ID dahil olmak üzere Microsoft kimlik platformu ile tümleştirilen uygulamalara kimlik doğrulaması ve yetkilendirme eklemeyi kolaylaştıran bir kitaplık kümesidir. Şu desteği destekler:

  • .NET Aspire dağıtılmış uygulamalar
  • ASP.NET Core web uygulamaları ve web API'leri
  • .NET Framework'te OWIN uygulamaları
  • .NET daemon uygulamaları ve arka plan hizmetleri

İster kullanıcıların oturum açmasını sağlayan web uygulamaları, belirteçleri doğrulayan web API'leri, ister korumalı API'leri çağıran arka plan hizmetleri geliştirin, Microsoft.Identity.Web sizin için kimlik doğrulama karmaşıklığını yönetir.

Microsoft Identity Web neden kullanılır?

Microsoft.Identity.Web tekrarlayan kodu azaltır ve yaygın kimlik senaryoları için entegre en iyi uygulamaları sağlar. Önemli özellikler şunları içerir:

  • Basitleştirilmiş kimlik doğrulaması - Kullanıcılarda oturum açmak ve belirteçleri doğrulamak için minimum yapılandırma
  • Downstream API çağrıları - Otomatik belirteç yönetimiyle Microsoft Graph, Azure SDK’ları veya kendi korumalı API'lerinizi çağırın
    • Belirteç alma - Kullanıcılar veya uygulamanız adına belirteç alma
    • Token önbellek yönetimi - Redis, SQL Server, Cosmos DB ve PostgreSQL ile dağıtılmış önbellek desteği
  • Birden çok kimlik bilgisi türü - Sertifikalar, yönetilen kimlikler ve sertifikasız kimlik doğrulaması desteği
  • Otomatik yetkilendirme üst bilgileri - Kimlik doğrulaması API'ler çağrılırken saydam olarak işlenir

Kullanılabilir tüm paketlere ve bunların ne zaman kullanılacağına genel bakış için bkz. NuGet paketleri.

Otomatik kimlik doğrulaması ile API'leri çağırma

Belirteçleri el ile yönetmeden korumalı API'leri çağırabilirsiniz. Microsoft. Identity.Web aşağıdaki tümleştirme desenlerini destekler:

  • Microsoft Graph - Otomatik belirteç alma ile GraphServiceClient kullanma
  • Azure SDK'leri - Microsoft.Identity.Web ile tümleşen TokenCredential uygulamaları kullanın.
  • Kendi API'leriniz - Sorunsuz API çağrıları için veya IDownstreamApi kullanın IAuthorizationHeaderProvider
  • Aracı kimlikleri - Otomatik kimlik bilgileri işleme ile yönetilen kimlikler veya hizmet sorumluları adına API'leri çağırma

Kimlik doğrulama üst bilgileri isteklerinize otomatik olarak eklenir ve belirteçler saydam bir şekilde alınır ve önbelleğe alınır. Ayrıntılar için bkz Aşağı akış API'lerini çağırma, Daemon uygulamaları ve Aracı kimlikleri kılavuzu.

Yapılandırma yaklaşımları

Microsoft.Identity.Web, ayar dosyaları veya program aracılığıyla yapılandırabilirsiniz. Her iki yaklaşım da tüm kimlik doğrulama senaryolarını destekler.

appsettings.json üzerinde kimlik doğrulama yapılandırması yapma:

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "your-tenant-id",
    "ClientId": "your-client-id"
  }
}

Önemli

Daemon uygulamaları ve konsol uygulamaları için dosyanızın appsettings.json çıkış dizinine kopyalandığından emin olun. Visual Studio'da Çıkış Dizini İçine Kopyala özelliğini Yeni ise Kopyala veya Her Zaman Kopyala olarak ayarlayın ya da aşağıdakileri .csproj ekleyin:

<ItemGroup>
  <None Update="appsettings.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

Koda göre yapılandırma

Alternatif olarak, kimlik doğrulamayı doğrudan uygulama başlangıç kodunuzda yapılandırın:

builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApp(options =>
    {
        options.Instance = "https://login.microsoftonline.com/";
        options.TenantId = "your-tenant-id";
        options.ClientId = "your-client-id";
    });

Sonraki adımlar

Uygulamanızla eşleşen senaryoyu seçin: