Schnellstart: Aufrufen der Microsoft Graph-API über eine UWP-Anwendung (UWP = Universelle Windows-Plattform)
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:
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, das zeigt, wie eine UWP-Anwendung (Universelle Windows-Plattform) Benutzer anmelden und ein Zugriffstoken abrufen kann, um die Microsoft Graph-API aufzurufen.
Eine Abbildung finden Sie unter Funktionsweise des Beispiels.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Visual Studio 2019
Schritt 1: Konfigurieren der Anwendung
Damit das Codebeispiel in dieser Schnellstartanleitung funktioniert, müssen Sie den Umleitungs-URIhttps://login.microsoftonline.com/common/oauth2/nativeclient
hinzufügen.
Ihre Anwendung ist mit diesen Attributen konfiguriert.
Schritt 2: Laden Sie das Visual Studio-Projekt herunter
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.
Schritt 4: Ausführen der Anwendung
Führen Sie die Beispielanwendung auf Ihrem lokalen Computer wie folgt aus:
Wählen Sie auf der Symbolleiste von Visual Studio die richtige Plattform aus (voraussichtlich x64 oder x86, nicht ARM). Das Zielgerät sollte sich von Gerät in Lokaler Computer ändern.
Wählen Sie Debuggen>Ohne Debuggen starten aus.
Bei entsprechender Aufforderung müssen Sie unter Umständen zuerst den Entwicklermodus aktivieren und dann Ohne Debuggen starten erneut verwenden, um die App zu starten.
Wenn das Fenster der App angezeigt wird, können Sie die Schaltfläche Microsoft Graph-API aufrufen auswählen, Ihre Anmeldeinformationen eingeben und Ihre Einwilligung zu den Berechtigungen erteilen, die von der Anwendung angefordert werden. Wenn der Vorgang erfolgreich ist, zeigt die Anwendung einige Tokeninformationen und Daten an, die aus dem Aufruf der Microsoft Graph-API stammen.
Funktionsweise des Beispiels
MSAL.NET
MSAL (Microsoft.Identity.Client) ist die Bibliothek, mit der Benutzer angemeldet und Sicherheitstoken angefordert werden können. Mithilfe der Sicherheitstoken kann auf eine API zugegriffen werden, die durch Microsoft Identity Platform geschützt ist. 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
MSAL-Initialisierung
Sie können den Verweis auf MSAL hinzufügen, indem Sie den folgenden Code hinzufügen:
using Microsoft.Identity.Client;
Anschließend wird MSAL mit dem folgenden Code initialisiert:
public static IPublicClientApplication PublicClientApp;
PublicClientApp = PublicClientApplicationBuilder.Create(ClientId)
.WithRedirectUri("https://login.microsoftonline.com/common/oauth2/> nativeclient")
.Build();
Der Wert der ClientId
ist die Anwendungs-ID (Client) der App, die Sie im Azure-Portal registriert haben. 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 in einer UWP-App: 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();
Der Parameter scopes
enthält die angeforderten Bereiche, z. B. { "user.read" }
für Microsoft Graph oder { "api://<Application ID>/access_as_user" }
für benutzerdefinierte Web-APIs.
Automatisches Abrufen eines Benutzertokens
Verwenden Sie die AcquireTokenSilent
-Methode, um Token für den Zugriff auf geschützte Ressourcen nach der anfänglichen AcquireTokenInteractive
-Methode abzurufen. 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.
var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
.ExecuteAsync();
scopes
enthält die angeforderten Bereiche, z. B.{ "user.read" }
für Microsoft Graph oder{ "api://<Application ID>/access_as_user" }
für benutzerdefinierte Web-APIs.firstAccount
gibt das erste Benutzerkonto 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.