Quickstart: De Microsoft Graph-API aanroepen vanuit de Universeel Windows-platformtoepasing (UWP)

Welkom. Dit is waarschijnlijk niet de pagina die u verwachtte. Terwijl we aan een oplossing werken, moet u met deze koppeling naar het juiste artikel gaan:

Quickstart: Universeel Windows-platform desktop-app (UWP) met gebruikersaanmelding

Onze excuses voor het ongemak en waarderen uw geduld terwijl we werken om dit opgelost te krijgen.

In deze quickstart downloadt u een codevoorbeeld en voert u dit uit. Het codevoorbeeld laat zien hoe gebruikers kunnen worden aangemeld met een UWP-toepassing (Universeel Windows-platform), en een toegangstoken kunnen krijgen om de Microsoft Graph API aan te roepen.

Zie Hoe het voorbeeld werkt voor een illustratie.

Vereisten

Stap 1: De toepassing configureren

Voeg een omleidings-URI van https://login.microsoftonline.com/common/oauth2/nativeclient.

Already configured Uw toepassing is geconfigureerd met deze kenmerken.

Stap 2: Download het Visual Studio-project

Voer het project uit met Visual Studio 2019.

Tip

Om fouten te voorkomen die worden veroorzaakt door padlengtebeperkingen in Windows, raden we u aan het archief te extraheren of de opslagplaats te klonen in een map in de buurt van de hoofdmap van uw station.

Stap 3: Uw app is geconfigureerd en klaar om te worden uitgevoerd

Uw project is geconfigureerd met waarden van de eigenschappen van uw app en is klaar om te worden uitgevoerd.

Stap 4: De toepassing uitvoeren

Om de voorbeeldtoepassing uit te voeren op uw lokale computer:

  1. Kies op de werkbalk van Visual Studio het juiste platform (waarschijnlijk x64 of x86, niet ARM). Het doelapparaat moet worden gewijzigd van Apparaat naar Lokale machine.

  2. Selecteer Fouten opsporen>Starten zonder foutopsporing.

    Als u hierom wordt gevraagd, moet u mogelijk eerst Ontwikkelaarsmodus inschakelen en vervolgens opnieuw Starten zonder foutopsporing om de app te starten.

Wanneer het venster van de app wordt weergegeven, kunt u de knop Microsoft Graph-API aanroepen selecteren, uw referenties invoeren en akkoord gaan met de machtigingen die door de toepassing worden aangevraagd. Als dit lukt, worden in de toepassing bepaalde tokengegevens en andere gegevens weergegeven die zijn verkregen van de aanroep van de Microsoft Graph-API.

Hoe het voorbeeld werkt

Shows how the sample app generated by this quickstart works

MSAL.NET

MSAL (Microsoft.Identity.Client) is de bibliotheek die wordt gebruikt om gebruikers aan te melden en beveiligingstokens aan te vragen. De beveiligingstokens worden gebruikt voor toegang tot een API die wordt beveiligd door het Microsoft Identity-platform. U kunt MSAL installeren door de volgende opdracht uit te voeren in Package Manager Console van Visual Studio:

Install-Package Microsoft.Identity.Client

MSAL initialiseren

U kunt de verwijzing voor MSAL toevoegen door de volgende code toe te voegen:

using Microsoft.Identity.Client;

Vervolgens wordt MSAL geïnitialiseerd met de volgende code:

public static IPublicClientApplication PublicClientApp;
PublicClientApp = PublicClientApplicationBuilder.Create(ClientId)
                                                .WithRedirectUri("https://login.microsoftonline.com/common/oauth2/> nativeclient")
                                                    .Build();

De waarde van ClientId is de Toepassings(client)-id voor de toepassing die u hebt geregistreerd in de Azure-portal. U vindt deze waarde op de pagina Overzicht in de Azure-portal.

Tokens aanvragen

MSAL biedt twee methoden om tokens in een UWP-app te verkrijgen: AcquireTokenInteractive en AcquireTokenSilent.

Een gebruikerstoken interactief ophalen

In sommige situaties moeten gebruikers via een pop-upvenster communiceren met de Microsoft identity platform om hun referenties te valideren of toestemming te geven. Voorbeelden zijn:

  • De eerste keer dat gebruikers zich aanmelden bij de toepassing
  • Wanneer gebruikers mogelijk hun referenties opnieuw moeten opgeven omdat het wachtwoord is verlopen
  • Wanneer via de toepassing toegang wordt aangevraagd tot een resource waarvoor de gebruiker toestemming moet geven
  • Wanneer tweeledige verificatie is vereist
authResult = await App.PublicClientApp.AcquireTokenInteractive(scopes)
                      .ExecuteAsync();

De parameter scopes bevat de bereiken die worden aangevraagd, zoals { "user.read" } voor Microsoft Graph of { "api://<Application ID>/access_as_user" } voor aangepaste web-API's.

Een gebruikerstoken op de achtergrond ophalen

Gebruik de methode AcquireTokenSilent om tokens op te halen voor toegang tot beveiligde resources na de eerste methode AcquireTokenInteractive. U wilt niet dat de gebruiker telkens wanneer deze toegang nodig heeft tot een resource, de referenties moet laten valideren. In de meeste gevallen wilt u tokens ophalen en verlengen zonder tussenkomst van de gebruiker

var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
                                      .ExecuteAsync();
  • scopes bevat de bereiken die worden aangevraagd, bijvoorbeeld { "user.read" } voor Microsoft Graph of { "api://<Application ID>/access_as_user" } voor aangepaste web-API's.
  • firstAccount geeft het eerste gebruikersaccount in de cache op (MSAL biedt ondersteuning voor meerdere gebruikers in één app).

Help en ondersteuning

Als u hulp nodig hebt, een probleem wilt melden of meer informatie wilt over uw ondersteuningsopties, raadpleegt u Hulp en ondersteuning voor ontwikkelaars.

Volgende stappen

Volg de zelfstudie voor Windows-bureaublad voor een volledige stapsgewijze handleiding voor het bouwen van toepassingen en nieuwe functies, waaronder een volledige uitleg van deze quickstart.