Översikt över Microsoft Identity Web

Microsoft. Identity.Web är en uppsättning bibliotek som förenklar tillägg av autentisering och auktorisering för program som integreras med Microsofts identitetsplattform, inklusive Microsoft Entra ID. Den stöder:

  • .NET Aspire distribuerade applikationer
  • ASP.NET Core webbprogram och webb-API:er
  • OWIN applikationer på .NET Framework
  • .NET daemonprogram och bakgrundstjänster

Oavsett om du skapar webbappar som loggar in användare, webb-API:er som validerar token eller bakgrundstjänster som anropar skyddade API:er Microsoft. Identity.Web hanterar autentiseringskomplexiteten åt dig.

Varför ska jag använda Microsoft Identity Web?

Microsoft. Identity.Web minskar exempelkoden och ger inbyggda metodtips för vanliga identitetsscenarier. Exempel på viktiga funktioner:

  • Förenklad autentisering – Minimal konfiguration för inloggning av användare och validering av token
  • Downstream API-anrop – Anropa Microsoft Graph, Azure-SDK:er eller dina egna skyddade API:er med automatisk tokenhantering
    • Tokenförvärv – Hämta token åt användare eller ditt program
    • Token cachehantering – Stöd för distribuerad cache med Redis, SQL Server, Cosmos DB och PostgreSQL
  • Flera typer av autentiseringsuppgifter – Stöd för certifikat, hanterade identiteter och certifikatfri autentisering
  • Automatiska auktoriseringshuvuden – Autentisering hanteras transparent när API:er anropas

Se NuGet-paket för en översikt över alla tillgängliga paket och när du ska använda dem.

Anropa API:ar med automatisk autentisering

Du kan anropa skyddade API:er utan att hantera token manuellt. Microsoft. Identity.Web stöder följande integrationsmönster:

  • Microsoft Graph – Använd GraphServiceClient med automatisk tokenanskaffning
  • Azure-SDK:er – Använd TokenCredential implementeringar som integreras med Microsoft. Identity.Web
  • Dina egna API:er – Använd IDownstreamApi eller IAuthorizationHeaderProvider för sömlösa API-anrop
  • Agentidentiteter – Anropa API:er för hanterade identiteter eller tjänstens huvudnamn med automatisk hantering av autentiseringsuppgifter

Autentiseringshuvuden läggs automatiskt till i dina begäranden och token hämtas och cachelagras transparent. Mer information finns i Anropa underordnade API:er, Daemon-program och guiden Agentidentiteter.

Konfigurationsmetoder

Du kan konfigurera Microsoft. Identity.Web via inställningsfiler eller programmatiskt. Båda metoderna stöder alla autentiseringsscenarier.

Konfigurera autentisering i appsettings.json:

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

Viktigt!

För daemonappar och konsolprogram kontrollerar du att appsettings.json filen kopieras till utdatakatalogen. I Visual Studio anger du egenskapen Copy to Output Directory till Copy if newer eller Copy always eller lägger till följande i din .csproj:

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

Konfiguration efter kod

Du kan också konfigurera autentisering direkt i programmets startkod:

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

Nästa steg

Välj det scenario som matchar ditt program: