Schnellstart: Anmelden von Benutzern und Aufrufen der Microsoft Graph-API aus einer ASP.NET Core Web App
In dieser Schnellstartanleitung verwenden Sie ein Beispiel ASP.NET Core Web App, um Benutzer mithilfe des Autorisierungscodeflusses anzumelden und die Microsoft Graph-API aufzurufen. Im Beispiel werden Microsoft Authentication Library for .NET und Microsoft Identity Web verwendet, um die Authentifizierung zu verarbeiten.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie noch kein Konto haben, Ein Konto kostenlos erstellen.
- Mindestanforderung: .NET 8.0 SDK
- Visual Studio Code
Registrieren Sie die Anwendung und erfassen Sie die Kennungen
Um die Registrierung abzuschließen, geben Sie der Anwendung einen Namen an, und geben Sie die unterstützten Kontotypen an. Nach der Registrierung werden im Bereich Übersicht der Anwendung die Bezeichner angezeigt, die im Quellcode der Anwendung erforderlich sind.
Melden Sie sich beim Microsoft Entra Admin Center an.
Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie das Symbol Einstellungen im oberen Menü, um zum Mandanten zu wechseln, in dem Sie die Anwendung über das Menü Verzeichnisse + Abonnements registrieren möchten.
Navigieren Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie Neue Registrierung aus.
Geben Sie einen Namen wie identity-client-web-app für die Anwendung ein.
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 Auswahlhilfe aus.
Wählen Sie Registrieren aus.
Der Bereich Übersicht der Anwendung wird angezeigt, wenn die Registrierung abgeschlossen ist. Notieren Sie die Verzeichnis-ID (Mandanten-ID) und die Anwendungs-ID (Client-ID), die in Ihrem Anwendungsquellcode verwendet werden soll.
Anmerkung
Die unterstützten Kontotypen können wie unter Ändern der von einer Anwendung unterstützten Konten beschrieben geändert werden.
Hinzufügen einer Plattform-Umleitungs-URI
Führen Sie die folgenden Schritte aus, um ihren App-Typ für ihre App-Registrierung anzugeben:
- Wählen Sie unter Verwalten die Option Authentifizierung aus.
- Wählen Sie auf der Seite Plattformkonfigurationen die Option Plattform hinzufügen und dann die Option Web aus.
- Geben Sie unter Umleitungs-URIs den URI
https://localhost:5001/signin-oidc
ein. - Geben Sie unter URL für Front-Channel-Abmeldung den Wert
https://localhost:5001/signout-callback-oidc
ein, um sich abzumelden. - 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.
Um das Beispiel zu klonen, öffnen Sie eine Eingabeaufforderung, und 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
Laden Sie die .zip Dateiherunter. Extrahieren Sie ihn in einen Dateipfad, in dem die Länge des Namens weniger als 260 Zeichen beträgt.
Erstellen und Hochladen eines selbstsignierten Zertifikats
Um Ihre Anwendung zu schützen, fügen Sie Ihrer Anwendung ein Zertifikat hinzu. In diesem Abschnitt wird gezeigt, wie Sie ein selbstsigniertes Zertifikat erstellen und in die Anwendungsregistrierung im Microsoft Entra Admin Center hochladen.
Anmerkung
Selbstsignierte Zertifikate sollten nur in der Entwicklung verwendet werden. In der Produktion sollten Sie ein Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle verwenden.
Verwenden Sie das Terminal mit den folgenden Befehlen, 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
Kehren Sie zum Microsoft Entra Admin Center zurück, und wählen Sie unter VerwaltenZertifikate & Geheimnisse>Zertifikat hochladenaus.
Wählen Sie die Registerkarte Zertifikate (0) aus, und wählen Sie dann Zertifikat hochladenaus.
Der Bereich Zertifikat hochladen wird angezeigt. Verwenden Sie das Symbol, um zu der Zertifikatdatei zu navigieren, die Sie im vorherigen Schritt erstellt haben, und wählen Sie Öffnenaus.
Geben Sie eine Beschreibung für das Zertifikat ein, z. B. Zertifikat für aspnet-web-app-, und wählen Sie Hinzufügenaus.
Notieren Sie den Thumbprint--Wert für die Verwendung im nächsten Schritt.
Konfigurieren des Projekts
Öffnen Sie in Ihrer IDE den Projektordner ms-identity-docs-code-dotnet\web-app-aspnet-mit dem Beispiel.
Öffnen Sie appsettings.json, und ersetzen Sie den Dateiinhalt durch den folgenden Codeausschnitt.
{ "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 dasDirectory (tenant) ID
, das zuvor auf der Übersichtsseite der registrierten Anwendung erfasst wurde.ClientId
– Der Bezeichner der Anwendung, auch als Client bezeichnet. Ersetzen Sie den Text in Anführungszeichen durch denApplication (client) ID
Wert, der 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 derCertificateThumbprint
durch den Fingerabdruck des Zertifikats, das zuvor aufgezeichnet worden war.
Führen Sie die Anwendung aus, und melden Sie sich an.
Verwenden Sie in Ihrem Projektverzeichnis das Terminal, um den folgenden Befehl einzugeben.
dotnet run
Kopieren Sie die
https
-URL, die im Terminal angezeigt wird, z. B.https://localhost:5001
, und fügen Sie sie in einen Browser ein. Wir empfehlen die Verwendung einer privaten oder inkognito-Browsersitzung.Führen Sie die Schritte aus, und geben Sie die erforderlichen Details ein, um sich mit Ihrem Microsoft-Konto anzumelden. Sie werden aufgefordert, eine E-Mail-Adresse anzugeben, damit Ihnen eine einmalkennung gesendet werden kann. Geben Sie den Code ein, wenn Sie dazu aufgefordert werden.
Die Anwendung bittet um Erlaubnis, den Zugriff auf die Daten aufrechtzuerhalten, auf die Sie ihr bereits Zugriff gewährt haben, um Sie anzumelden und Ihr Profil zu lesen. Wählen Sie aus, akzeptieren Sie.
Der folgende Screenshot wird angezeigt, der angibt, dass Sie sich bei der Anwendung angemeldet haben und über die Microsoft Graph-API auf Ihre Profildetails zugegriffen haben.
Abmelden von der Anwendung
- Navigieren Sie zum Link Abmelden in der rechten oberen Ecke der Seite, und wählen Sie ihn aus.
- Sie werden aufgefordert, ein Konto für die Abmeldung zu wählen. Wählen Sie das Konto aus, das Sie zum Anmelden verwendet haben.
- Es wird eine Meldung angezeigt, die angibt, dass Sie sich abgemeldet haben. Sie können nun das Browserfenster schließen.
Verwandte Inhalte
- Lernen Sie, indem Sie diese ASP.NET-Web-App mit der Reihe Tutorial erstellen: Registrieren Sie eine Anwendung mit der Microsoft Identity Platform.
- Schnellstart: Schützen einer ASP.NET Core-Web-API mit der Microsoft Identity Platform.
- Schnellstart: Bereitstellen einer ASP.NET Web-App in Azure App Service