Gambaran umum Microsoft Identity Web

Microsoft. Identity.Web adalah sekumpulan pustaka yang menyederhanakan penambahan autentikasi dan otorisasi ke aplikasi yang terintegrasi dengan platform identitas Microsoft, termasuk Microsoft Entra ID. Ini mendukung:

  • .NET Aspire aplikasi terdistribusi
  • ASP.NET Core aplikasi web dan API web
  • aplikasi OWIN pada .NET Framework
  • .NET aplikasi daemon dan layanan latar belakang

Baik Anda membuat aplikasi web yang memasukkan pengguna, API web yang memvalidasi token, atau layanan latar belakang yang memanggil API yang dilindungi, Microsoft. Identity.Web menangani kompleksitas autentikasi untuk Anda.

Mengapa menggunakan Microsoft Identity Web?

Microsoft. Identity.Web mengurangi kode boilerplate dan menyediakan praktik terbaik bawaan untuk skenario identitas umum. Kemampuan utama meliputi:

  • Autentikasi yang disederhanakan - Konfigurasi minimal untuk pengguna yang masuk dan memvalidasi token
  • Panggilan API downstream - Memanggil Microsoft Graph, Azure SDK, atau API Anda sendiri yang dilindungi dengan manajemen token otomatis
    • Akuisisi token - Memperoleh token atas nama pengguna atau aplikasi Anda
    • Token manajemen cache - Dukungan cache terdistribusi dengan Redis, SQL Server, Cosmos DB, dan PostgreSQL
  • Beberapa jenis kredensial - Dukungan untuk sertifikat, identitas terkelola, dan autentikasi tanpa sertifikat
  • Header otorisasi otomatis - Autentikasi ditangani secara transparan saat memanggil API

Lihat paket NuGet untuk gambaran umum semua paket yang tersedia dan kapan menggunakannya.

Memanggil API dengan autentikasi otomatis

Anda dapat memanggil API yang dilindungi tanpa mengelola token secara manual. Microsoft. Identity.Web mendukung pola integrasi berikut:

  • Microsoft Graph - Gunakan GraphServiceClient dengan akuisisi token otomatis
  • Azure SDK - Gunakan implementasi TokenCredential yang terintegrasi dengan Microsoft. Identity.Web
  • API Anda sendiri - Gunakan IDownstreamApi atau IAuthorizationHeaderProvider untuk panggilan API yang mulus
  • Identitas agen - Panggil API atas nama identitas terkelola atau perwakilan layanan dengan penanganan kredensial otomatis

Header autentikasi ditambahkan ke permintaan Anda secara otomatis, dan token diperoleh dan di-cache secara transparan. Untuk detailnya, lihat Memanggil API hilir, aplikasi Daemon, dan panduan Identitas agen.

Pendekatan konfigurasi

Anda dapat mengonfigurasi Microsoft. Identity.Web melalui file pengaturan atau secara terprogram. Kedua pendekatan mendukung semua skenario autentikasi.

Konfigurasikan autentikasi di appsettings.json:

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

Penting

Untuk aplikasi daemon dan aplikasi konsol, pastikan file Anda appsettings.json disalin ke direktori output. Di Visual Studio, atur properti Copy to Output Directory ke Copy if newer atau Copy always, atau tambahkan yang berikut ke .csproj Anda:

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

Konfigurasi menurut kode

Atau, konfigurasikan autentikasi langsung dalam kode startup aplikasi Anda:

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

Langkah berikutnya

Pilih skenario yang cocok dengan aplikasi Anda: