Schnellstart: Benutzeranmeldung und Aufrufen der Microsoft Graph-API aus einer ASP.NET Core-Webanwendung

In diesem Schnellstart wird eine ASP.NET Core-Beispiel-Web-App verwendet, um zu veranschaulichen, wie Sie Benutzer*innen mithilfe des Autorisierungscodeflows anmelden und die Microsoft Graph-API aufrufen. Im Beispiel werden für die Verarbeitung der Authentifizierung die Microsoft-Authentifizierungsbibliothek für .NET und Microsoft Identity Web verwendet.

Voraussetzungen

Registrieren der Anwendung und der Datensatzbezeichner

Um die Registrierung abzuschließen, geben Sie der Anwendung einen Namen an, und geben Sie die unterstützten Kontotypen an. Nach der Registrierung zeigt Bereich Übersicht der Anwendung die im Quellcode der Anwendung erforderlichen Bezeichner an.

  1. Melden Sie sich beim Microsoft Entra Admin Center an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie das Symbol für Einstellungen im oberen Menü, um zum Mandanten zu wechseln, in dem Sie die Anwendung über das Menü Verzeichnisse + Abonnements registrieren möchten.

  3. Navigieren Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie Neue Registrierung aus.

  4. Geben Sie einen Namen wie identity-client-web-app für die Anwendung ein.

  5. Wählen Sie für Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis aus. Wenn Sie Informationen zu den verschiedenen Kontotypen benötigen, wählen Sie Entscheidungshilfe aus.

  6. Wählen Sie Registrieren aus.

    Screenshot: Eingeben eines Namens und Auswählen des Kontotyps im Microsoft Entra Admin Center

  7. Der Bereich Übersicht der Anwendung wird angezeigt, wenn die Registrierung abgeschlossen ist. Notieren Sie sich die Verzeichnis-ID (Mandant) und die Anwendungs-ID (Client), die im Quellcode Ihrer Anwendung verwendet werden sollen.

    Screenshot: Bezeichnerwerte auf der Übersichtsseite im Microsoft Entra Admin Center

    Hinweis

    Die unterstützten Kontotypen können geändert werden (sieheÄndern der von einer Anwendung unterstützten Konten).

Hinzufügen einer Plattformumleitungs-URI

Führen Sie die folgenden Schritte aus, um den Anwendungstyp für Ihre Anwendungsregistrierung anzugeben:

  1. Wählen Sie unter Verwalten die Option Authentifizierung aus.
  2. Wählen Sie auf der Seite Plattformkonfigurationen die Option Plattform hinzufügen und dann die Option Web aus.
  3. Geben Sie unter Umleitungs-URLs den Wert https://localhost:5001/signin-oidc ein.
  4. Geben Sie unter URL für Front-Channel-Abmeldung den Wert https://localhost:5001/signout-callback-oidc ein, um sich abzumelden.
  5. Wählen Sie Konfigurieren aus, um Ihre Änderungen zu speichern.

Klonen oder Herunterladen der Beispielanwendung

Um die Beispielanwendung zu erhalten, können Sie sie entweder von GitHub klonen oder als ZIP-Datei herunterladen.

  • Öffnen Sie zum Klonen des Beispiels eine Eingabeaufforderung, navigieren Sie zu der Stelle, an der Sie das Projekt erstellen möchten, und geben Sie den folgenden Befehl ein:

    git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.git
    
  • ZIP-Datei herunterladen. Extrahieren Sie sie an einem Dateipfad, dessen Name weniger als 260 Zeichen umfasst.

Erstellen und Hochladen eines selbstsignierten Zertifikats

  1. Verwenden Sie im Terminal die folgenden Befehle zum Navigieren, um ein selbstsigniertes Zertifikat im Projektverzeichnis zu erstellen.

    cd ms-identity-docs-code-dotnet\web-app-aspnet\
    dotnet dev-certs https -ep ./certificate.crt --trust
    
  2. Kehren Sie zum Microsoft Entra Admin Center zurück, und wählen Sie unter Verwalten die Option Zertifikate und Geheimnisse>Zertifikat hochladen aus.

  3. Wählen Sie die Registerkarte Zertifikate (0) und dann Zertifikat hochladen aus.

  4. Der Bereich Zertifikat hochladen wird angezeigt. Navigieren Sie mit dem Symbol zu der Zertifikatsdatei, die Sie im vorherigen Schritt erstellt haben, und wählen Sie Öffnen aus.

  5. Geben Sie eine Beschreibung für das Zertifikat ein, z. B. Zertifikat für ASPNet-Web-App, und wählen Sie Hinzufügen aus.

  6. Notieren Sie sich den Wert des Fingerabdrucks. Er wird im nächsten Schritt verwendet.

Konfigurieren des Projekts

  1. Öffnen Sie in Ihrer IDE den Projektordner ms-identity-docs-code-dotnet\web-app-aspnet, der das Beispiel enthält.

  2. Öffnen Sie die Datei appsettings.json, und ersetzen Sie den Dateiinhalt durch den folgenden Codeschnipsel:

    {
    "AzureAd": {
      "Instance": "https://login.microsoftonline.com/",
      "TenantId": "Enter the tenant ID obtained from the Microsoft Entra admin center",
      "ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
      "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": "*"
    }
    
    • TenantId – Der Bezeichner des Mandanten, in dem die Anwendung registriert ist. Ersetzen Sie den Text in Anführungszeichen durch den Wert für Directory (tenant) ID, den Sie zuvor auf der Übersichtsseite der registrierten Anwendung notiert haben.
    • ClientId – Der Bezeichner der Anwendung, auch als Client bezeichnet. Ersetzen Sie den Text in Anführungszeichen durch den Wert der Application (client) ID, die zuvor auf der Übersichtsseite der registrierten Anwendung aufgezeichnet wurde.
    • ClientCertificates: Ein selbstsigniertes Zertifikat wird für die Authentifizierung in der Anwendung verwendet. Ersetzen Sie den Text von „CertificateThumbprint“ durch den Fingerabdruck des zuvor aufgezeichneten Zertifikats.

Ausführen der Anwendung und Anmelden

  1. Verwenden Sie in Ihrem Projektverzeichnis das Terminal, um den folgenden Befehl einzugeben:

    dotnet run
    
  2. Kopieren Sie die https-URL, die im Terminal angezeigt wird (z. B. https://localhost:5001), und fügen Sie sie in einen Browser ein. Es wird empfohlen, eine private Browsersitzung oder eine Inkognito-Browsersitzung zu verwenden.

  3. Führen Sie die Schritte aus, und geben Sie die erforderlichen Details ein, um sich mit Ihrem Microsoft-Konto anzumelden. Sie werden dazu aufgefordert, eine E-Mail-Adresse anzugeben, damit ein einmaliger Passcode an Sie gesendet werden kann. Geben Sie den Code ein, wenn Sie dazu aufgefordert werden.

  4. Die Anwendung fordert die Berechtigung an, um den Zugriff auf Daten beizubehalten, auf die Sie ihr Zugriff gewährt haben. Die Anwendung benötigt diese Berechtigung außerdem, um Sie anzumelden und Ihr Profil lesen zu können. Wählen Sie Akzeptieren aus.

  5. Der folgende Screenshot wird angezeigt. Er besagt, dass Sie sich bei der Anwendung angemeldet und über die Microsoft Graph-API auf Ihre Profildetails zugegriffen haben.

    Screenshot mit den Ergebnissen des API-Aufrufs

Abmelden von der Anwendung

  1. Navigieren Sie zum Link Abmelden in der rechten oberen Ecke der Seite, und wählen Sie ihn aus.
  2. Sie werden dazu aufgefordert, ein Konto zum Abmelden auszuwählen. Wählen Sie das Konto aus, das Sie für die Anmeldung verwendet haben.
  3. Eine Meldung wird angezeigt, die angibt, dass Sie sich abgemeldet haben. Sie können nun das Browserfenster schließen.