Freigeben über


Lernprogramm: Einrichten einer ASP.NET Core Web App, die Benutzer authentifiziert

Gilt für: Grüner Kreis mit einem weißen Häkchensymbol, das angibt, dass der folgende Inhalt für Mitarbeitermandanten gilt. Mitarbeitermandanten grüner Kreis mit einem weißen Häkchensymbol, das angibt, dass der folgende Inhalt für externe Mandanten gilt. Externe Mandanten (weitere Informationen)

In diesem Lernprogramm erstellen Sie eine ASP.NET Core Web App und konfigurieren sie für die Authentifizierung. Dies ist Teil 1 einer Reihe, die veranschaulicht, wie eine ASP.NET Core-Webanwendung erstellt und mit dem Microsoft Entra Admin Center für die Authentifizierung vorbereitet wird. Diese Anwendung kann für Mitarbeitende in einem Mitarbeitendenmandanten oder für Kunden mit einem externen Mandanten verwendet werden

In diesem Tutorial führen Sie Folgendes durch:

  • Erstellen einer ASP.NET Core Web App
  • Erstellen eines selbstsignierten Zertifikats
  • Konfigurieren der Einstellungen für die Anwendung
  • Definieren von Plattformeinstellungen und URLs

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen. Dieses Konto muss über Berechtigungen zum Verwalten von Anwendungen verfügen. Verwenden Sie eine der folgenden Rollen, die zum Registrieren der Anwendung erforderlich sind:
    • Anwendungsadministrator
    • Anwendungsentwickler
  • Obwohl eine integrierte Entwicklungsumgebung (Integrated Development Environment, IDE), die ASP.NET Core-Anwendungen unterstützt, verwendet werden kann, verwendet dieses Lernprogramm Visual Studio Code. Sie können es hierherunterladen.
  • Mindestanforderung: .NET 8.0 SDK
  • Ein ASP.NET Core-Entwicklerzertifikat. Installieren eines mit dotnet dev-certs
  • Registrieren Sie eine neue App im Microsoft Entra Admin Center, die nur für Konten in diesem Organisationsverzeichnis konfiguriert ist. Weitere Informationen finden Sie unter Registrieren einer Anwendung . Notieren Sie die folgenden Werte auf der Anwendungsübersichtsseite für die spätere Verwendung:
    • Anwendungs-ID (Client)
    • Verzeichnis-ID (Mandant)
  • Fügen Sie die folgenden Umleitungs-URIs mithilfe der Webplattformkonfiguration hinzu. Weitere Informationen finden Sie unter Hinzufügen eines Umleitungs-URI in Ihrer Anwendung .
    • Umleitungs-URI: https://localhost:5001/signin-oidc
    • URL für Frontkanal-Abmeldung: https://localhost:5001/signout-oidc
  • Erstellen Sie zu Entwicklungszwecken ein selbstsigniertes Zertifikat. Weitere Informationen zum Hochladen des Zertifikats und zum Aufzeichnen des Zertifikatfingerabdrucks finden Sie unter Hinzufügen von Anmeldeinformationen. Verwenden Sie kein selbstsigniertes Zertifikat für Produktions-Apps. Verwenden Sie eine vertrauenswürdige Zertifizierungsstelle.

Erstellen eines ASP.NET Core-Projekts

In diesem Abschnitt erstellen Sie ein ASP.NET Core-Projekt in Visual Studio Code.

  1. Öffnen Sie Visual Studio Code und wählen Sie Datei > Ordner öffnen.... Navigieren Sie zu dem Speicherort, an dem Sie Ihr Projekt erstellen möchten, und wählen Sie ihn aus.

  2. Öffnen Sie ein neues Terminal, indem Sie Terminal > Neues Terminal auswählen.

  3. Geben Sie den folgenden Befehl ein, um einen Model View Controller (MVC) ASP.NET Core-Projekt zu erstellen.

    dotnet new mvc -n identity-client-web-app
    

Identitätspakete installieren

Diese Anwendung verwendet Microsoft.Identity.Web , und das zugehörige NuGet-Paket muss installiert werden.

Verwenden Sie den folgenden Codeausschnitt, um in den neuen Ordner "Identity-client-web-app " zu wechseln und das relevante NuGet-Paket zu installieren:

cd identity-client-web-app
dotnet add package Microsoft.Identity.Web.UI

Konfigurieren der Anwendung für die Authentifizierung

Webanwendungen, die Benutzer mithilfe der Microsoft Identity Platform anmelden, werden über eine Konfigurationsdatei appsettings.jsonkonfiguriert. In ASP.NET Core müssen die folgenden Werte angegeben werden:

Setting Description
Instance Der Authentifizierungsendpunkt zum Ausführen Ihrer App in nationalen Clouds. Verwenden Sie eine der folgenden:
- https://login.microsoftonline.com/ (Öffentliche Azure-Cloud)
- https://login.microsoftonline.us/ (Azure US-Regierung)
- https://login.microsoftonline.de/ (Microsoft Entra Deutschland)
- https://login.partner.microsoftonline.cn/ (Microsoft Entra China betrieben von 21Vianet)
TenantId Der Bezeichner des Mandanten, in dem die App registriert ist. Empfohlen: Verwenden Sie die Mandanten-ID aus der App-Registrierung. Alternativen:
- organizations (ein Arbeits- oder Schulkonto)
- common (Geschäfts-/Schul-/Uni- oder Microsoft-persönliches Konto)
- consumers (Nur persönliche Microsoft-Konten).
ClientId Bezeichner der Anwendung (Client), die aus der Anwendungsregistrierung abgerufen wurde.
CertificateThumbprint Fingerabdruck des im Microsoft Entra Admin Center hochgeladenen Zertifikats (siehe Hinzufügen von Anmeldeinformationen).
CallbackPath Pfad, der zum Umleiten von Antworten verwendet wird; wird in diesem Tutorial auf /signin-oidc gesetzt.
DownstreamApi Bezeichner, der einen Endpunkt für den Zugriff auf Microsoft Graph definiert. Kombinieren Sie den Anwendungs-URI mit dem erforderlichen Bereich (z. B. user.read).

Aktualisieren der Konfigurationsdatei

Öffnen Sie in Ihrer IDE appsettings.json , und ersetzen Sie den Dateiinhalt durch den folgenden Codeausschnitt. Ersetzen Sie den Text in Anführungszeichen durch die Werte, die zuvor aufgezeichnet wurden.

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "Enter_the_Tenant_Id_Here",
    "ClientId": "Enter_the_Application_Id_Here",
    "ClientCertificates": [
      {
        "SourceType": "StoreWithThumbprint",
        "CertificateStorePath": "CurrentUser/My",
        "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
      }   
    ],
    "CallbackPath": "/signin-oidc"
  },
    "DownstreamApi": {
      "BaseUrl": "https://graph.microsoft.com/v1.0/",
      "RelativePath": "me",
      "Scopes": [ 
        "user.read" 
      ]
    },
    "Logging": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft.AspNetCore": "Warning"
      }
    },
    "AllowedHosts": "*"
  }

Aktualisieren des Umleitungs-URI

Als Teil der Voraussetzungen wird die Umleitungs-URI auf https://localhost:5001/signin-oidc gesetzt. Dies muss in den Anwendungsstarteinstellungen aktualisiert werden. Sie können den Umleitungs-URI verwenden, der während des lokalen Anwendungssetups oder einer anderen verfügbaren Portnummer erstellt wird, vorausgesetzt, er entspricht dem Umleitungs-URI in der Anwendungsregistrierung.

  1. Öffnen Sie im Ordner Eigenschaften die Datei launchSettings.json.

  2. Suchen Sie das https Objekt, und aktualisieren Sie den Wert applicationURI mit der richtigen Portnummer in diesem Fall 5001. Die Zeile sollte dem folgenden Codeausschnitt ähneln:

    "applicationUrl": "https://localhost:5001;http://localhost:{port}",
    

Nächster Schritt