Schnellstart: Abrufen eines Tokens und Aufrufen der Microsoft Graph-API über eine Windows Desktop-Anwendung

Willkommen! Dies ist wahrscheinlich nicht die Seite, die Sie erwartet haben. Während wir an einer Korrektur arbeiten, sollten Sie über diesen Link zum richtigen Artikel gelangen:

Schnellstart: WPF-Desktop-App (Windows Presentation Foundation), die Benutzer anmeldet und eine Web-API aufruft

Wir entschuldigen uns für die Unannehmlichkeiten und bitten Sie um Geduld, während wir an einer Lösung arbeiten.

In dieser Schnellstartanleitung laden Sie ein Codebeispiel herunter und führen es aus. Dieses zeigt, wie eine WPF-Anwendung (Windows Presentation Foundation) Benutzer anmelden und ein Zugriffstoken abrufen kann, um die Microsoft Graph-API aufzurufen.

Eine Abbildung finden Sie unter Funktionsweise des Beispiels.

Schritt 1: Konfigurieren Ihrer Anwendung im Azure-Portal

Damit das Codebeispiel in dieser Schnellstartanleitung funktioniert, müssen Sie https://login.microsoftonline.com/common/oauth2/nativeclient und ms-appx-web://microsoft.aad.brokerplugin/{client_id} als Umleitungs-URI hinzufügen.

Bereits konfiguriert Ihre Anwendung ist mit diesen Attributen konfiguriert.

Schritt 2: Herunterladen des Visual Studio-Projekts

Führen Sie das Projekt mit Visual Studio 2019 aus.

Tipp

Es wird empfohlen, das Archiv in ein Verzeichnis in der Nähe des Stammverzeichnisses Ihres Laufwerks zu extrahieren, um Fehler zu vermeiden, die durch Beschränkungen der Pfadlänge unter Windows verursacht werden.

Schritt 3: Ihre App ist konfiguriert und betriebsbereit

Wir haben das Projekt mit Werten Ihrer App-Eigenschaften konfiguriert. Es ist nun ausführungsbereit.

Hinweis

Enter_the_Supported_Account_Info_Here

Weitere Informationen

Funktionsweise des Beispiels

Zeigt, wie die in diesem Schnellstart generierte Beispiel-App funktioniert

MSAL.NET

MSAL (Microsoft.Identity.Client) ist die Bibliothek zum Anmelden von Benutzern und Anfordern von Token, die für den Zugriff auf eine durch Microsoft Identity Platform geschützte API verwendet wird. Sie können MSAL installieren, indem Sie den folgenden Befehl in der Paket-Manager-Konsole von Visual Studio ausführen:

Install-Package Microsoft.Identity.Client -IncludePrerelease

MSAL-Initialisierung

Sie können den Verweis auf MSAL hinzufügen, indem Sie den folgenden Code hinzufügen:

using Microsoft.Identity.Client;

Initialisieren Sie MSAL anschließend mit dem folgenden Code:

IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
                .WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
                .WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
                .Build();
Hierbei gilt: BESCHREIBUNG
ClientId Die Anwendungs-ID (Client) für die im Azure-Portal registrierte Anwendung. Dieser Wert befindet sich im Azure-Portal auf der Seite Übersicht der App.

Anfordern von Token

MSAL verfügt über zwei Methoden zum Abrufen von Token: AcquireTokenInteractive und AcquireTokenSilent.

Interaktives Abrufen eines Benutzertokens

In bestimmten Situationen müssen Benutzer über ein Popupfenster mit Microsoft Identity Platform interagieren, um entweder ihre Anmeldeinformationen zu bestätigen oder ihre Zustimmung zu geben. Beispiele hierfür sind:

  • Erstmaliges Anmelden von Benutzern bei der Anwendung.
  • Benutzer müssen ihre Anmeldeinformationen erneut eingeben, weil das Kennwort abgelaufen ist.
  • Ihre Anwendung fordert Zugriff auf eine Ressource an, dem der Benutzer zustimmen muss.
  • Zweistufige Authentifizierung ist erforderlich.
authResult = await App.PublicClientApp.AcquireTokenInteractive(_scopes)
                                      .ExecuteAsync();
Hierbei gilt: BESCHREIBUNG
_scopes Enthält die angeforderten Bereiche (etwa { "user.read" } für Microsoft Graph oder { "api://<Application ID>/access_as_user" } für benutzerdefinierte Web-APIs).

Automatisches Abrufen eines Benutzertokens

Sie möchten nicht, dass der Benutzer seine Anmeldeinformationen jedes Mal überprüfen muss, wenn er auf eine Ressource zugreifen muss. Meistens wünschen Sie sich den Abruf und die Erneuerung von Token ohne jegliche Benutzerinteraktion. Sie können die AcquireTokenSilent-Methode verwenden, um Token für den Zugriff auf geschützte Ressourcen nach der anfänglichen AcquireTokenInteractive-Methode abzurufen:

var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
                                      .ExecuteAsync();
Hierbei gilt: BESCHREIBUNG
scopes Enthält die angeforderten Bereiche (etwa { "user.read" } für Microsoft Graph oder { "api://<Application ID>/access_as_user" } für benutzerdefinierte Web-APIs).
firstAccount Gibt den ersten Benutzer im Cache an. (MSAL unterstützt mehrere Benutzer in einer App.)

Hilfe und Support

Wenn Sie Hilfe benötigen, ein Problem melden möchten oder sich über Ihre Supportoptionen informieren möchten, finden Sie weitere Informationen unter Hilfe und Support für Entwickler.

Nächste Schritte

Probieren Sie das Windows Desktop-Tutorial aus, um eine vollständige Schritt-für-Schritt-Anleitung zum Erstellen von Anwendungen und neuen Features zu erhalten, einschließlich einer vollständigen Erläuterung dieses Schnellstarts.