Übersicht über Microsoft Identity Web

Microsoft. Identity.Web ist eine Reihe von Bibliotheken, die das Hinzufügen von Authentifizierung und Autorisierung zu Anwendungen vereinfachen, die in die Microsoft Identity Platform integriert sind, einschließlich Microsoft Entra ID. Es unterstützt:

  • .NET Aspire verteilte Anwendungen
  • ASP.NET Core Webanwendungen und Web-APIs
  • OWIN-Anwendungen auf .NET Framework
  • .NET Daemonanwendungen und Hintergrunddienste

Unabhängig davon, ob Sie Web-Apps erstellen, die Benutzer anmelden, Web-APIs, die Token überprüfen, oder Hintergrunddienste, die geschützte APIs aufrufen, Microsoft. Identity.Web behandelt die Authentifizierungskomplexität für Sie.

Warum Microsoft Identity Web verwenden?

Microsoft. Identity.Web reduziert Codebausteine und bietet integrierte bewährte Methoden für gängige Identitätsszenarien. Zu den Schlüsselfunktionen gehören:

  • Vereinfachte Authentifizierung – Minimale Konfiguration für die Anmeldung von Benutzern und Überprüfen von Token
  • Downstream-API-Aufrufe – Aufrufen Microsoft Graph, Azure SDKs oder eigener geschützter APIs mit automatischer Tokenverwaltung
    • Tokenerwerb – Erwerben von Token im Auftrag von Benutzern oder Ihrer Anwendung
    • Token-Cacheverwaltung – Unterstützung für verteilten Cache mit Redis, SQL Server, Cosmos DB und PostgreSQL
  • Mehrere Anmeldedatentypen – Unterstützung für Zertifikate, verwaltete Identitäten und zertifikat-lose Authentifizierung
  • Automatische Autorisierungsheader – Die Authentifizierung wird beim Aufrufen von APIs transparent behandelt.

Eine Übersicht über alle verfügbaren Pakete und deren Verwendung finden Sie unter NuGet-Pakete .

Aufrufen von APIs mit automatischer Authentifizierung

Sie können geschützte APIs aufrufen, ohne Token manuell zu verwalten. Microsoft. Identity.Web unterstützt die folgenden Integrationsmuster:

  • Microsoft Graph – Verwenden von GraphServiceClient mit automatischer Tokenerfassung
  • Azure SDKs – Verwenden Sie TokenCredential Implementierungen, die in Microsoft integriert sind. Identity.Web
  • Eigene APIs – Verwenden IDownstreamApi oder IAuthorizationHeaderProvider für nahtlose API-Aufrufe
  • Agentidentitäten – Anruf-APIs im Auftrag verwalteter Identitäten oder Dienstprinzipale mit automatischer Behandlung von Anmeldeinformationen

Authentifizierungsheader werden Ihren Anforderungen automatisch hinzugefügt, und Token werden transparent abgerufen und zwischengespeichert. Ausführliche Informationen finden Sie unter Aufrufen von downstream-APIs, Daemon-Anwendungen und dem Leitfaden für Agentidentitäten.

Konfigurationsansätze

Sie können Microsoft.Identity.Web durch Einstellungsdateien oder programmatisch konfigurieren. Beide Ansätze unterstützen alle Authentifizierungsszenarien.

Konfigurieren der Authentifizierung in appsettings.json:

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

Von Bedeutung

Stellen Sie für Daemon-Apps und Konsolenanwendungen sicher, dass Ihre appsettings.json Datei in das Ausgabeverzeichnis kopiert wird. Legen Sie in Visual Studio die Eigenschaft Copy to Output Directory auf Copy if newer oder Copy always fest, oder fügen Sie Folgendes zu Ihrem .csproj hinzu:

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

Konfiguration nach Code

Alternativ können Sie die Authentifizierung direkt in Ihrem Anwendungsstartcode konfigurieren:

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

Nächste Schritte

Wählen Sie das Szenario aus, das Ihrer Anwendung entspricht: