Freigeben über


Schnellstart: .NET-Konsolenanwendung, die auf eine geschützte Web-API zugreift

In dieser Schnellstartanleitung wird eine .NET-Beispielkonsolenanwendung für den Zugriff auf eine geschützte Web-API als eigene Identität mithilfe von Microsoft Authentication Library (MSAL) für .NET verwendet. Die Anwendung ist eine Daemonanwendung, bei der es sich um eine vertrauliche Clientanwendung handelt. Sie verwendet den OAuth 2.0-Clientanmeldeinformations-Flow, um ein Zugriffstoken für den Aufruf der Microsoft Graph-API abzurufen.

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-daemon-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), die Anwendungs-ID (Client) und die Objekt-ID, die im Quellcode Ihrer Anwendung verwendet werden sollen.

    Screenshot: ID-Werte auf der Seite „Übersicht“ im Microsoft Entra Admin Center

    Hinweis

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

Erstellen eines Clientgeheimnisses

  1. Navigieren Sie im Microsoft Entra Admin Center zu Identität>Anwendungen>App-Registrierungen.
  2. Wählen Sie die Anwendung aus, die Sie zuvor registriert haben.
  3. Wählen Sie im Bereich Übersicht der Anwendung Zertifikate & Geheimnisse>Neuer geheimer Clientschlüssel aus.
  4. Geben Sie im Feld Beschreibung eine Beschreibung für den geheimen Schlüssel ein.
  5. Wählen Sie einen Ablaufzeitraum für den geheimen Schlüssel aus.
  6. Wählen Sie Hinzufügen aus.
  7. Notieren Sie sich den Wert des geheimen Clientschlüssels. Der Wert wird nur einmal angezeigt. Notieren Sie sich ihn daher unbedingt.

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.

Konfigurieren des Projekts

  1. Öffnen Sie in Ihrer IDE den Projektordner ms-identity-docs-code-dotnet/console-daemon, der das Beispiel enthält.

  2. Öffnen Sie Program.cs, und ersetzen Sie den Dateiinhalt durch den folgenden Schnipsel:

     // Full directory URL, in the form of https://login.microsoftonline.com/<tenant_id>
     Authority = " https://login.microsoftonline.com/Enter_the_tenant_ID_obtained_from_the_Microsoft_Entra_admin_center",
     // 'Enter the client ID obtained from the Microsoft Entra admin center
     ClientId = "Enter the client ID obtained from the Microsoft Entra admin center",
     // Client secret 'Value' (not its ID) from 'Client secrets' in the Microsoft Entra admin center
     ClientSecret = "Enter the client secret value obtained from the Microsoft Entra admin center",
     // Client 'Object ID' of app registration in Microsoft Entra admin center - this value is a GUID
     ClientObjectId = "Enter the client Object ID obtained from the Microsoft Entra admin center"
    
    • Authority – Die Autorität ist eine URL, die ein Verzeichnis angibt, aus dem die MSAL Token anfordern kann. Ersetzen Sie Enter_the_tenant_ID durch den zuvor notierten Wert für Verzeichnis-ID (Mandant).
    • 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.
    • ClientSecret – Der geheime Clientschlüssel, der für die Anwendung im Microsoft Entra Admin Center erstellt wurde. Geben Sie den Wert des geheimen Clientschlüssels ein.
    • ClientObjectId – Die Objekt-ID der Clientanwendung. Ersetzen Sie den Text in Anführungszeichen durch den Wert der Object ID, die zuvor auf der Übersichtsseite der registrierten Anwendung aufgezeichnet wurde.

Ausführen der Anwendung

  1. Navigieren Sie in einem Terminal zum Projektverzeichnis ms-identity-docs-code-dotnet/console-daemon.

  2. Führen Sie den folgenden Befehl aus, um die Anwendung zu erstellen und auszuführen:

    dotnet run
    
  3. Die Anwendung wird ausgeführt und zeigt eine Antwort ähnlich wie die folgende (aus Platzgründen gekürzte) Antwort an:

    {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications/$entity",
    "id": "00001111-aaaa-2222-bbbb-3333cccc4444",
    "deletedDateTime": null,
    "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
    "applicationTemplateId": null,
    "disabledByMicrosoftStatus": null,
    "createdDateTime": "2021-01-17T15:30:55Z",
    "displayName": "identity-dotnet-console-app",
    "description": null,
    "groupMembershipClaims": null,
    ...
    }