Delen via


Quickstart: Een token verkrijgen en Microsoft Graph API aanroepen vanuit een Windows-bureaubladtoepassing

Welkom! Dit is waarschijnlijk niet de pagina die u verwachtte te zien. Terwijl we aan een oplossing voor dit probleem werken, kunt u met deze koppeling naar het juiste artikel gaan:

Quickstart: Gebruikers aanmelden en Microsoft Graph aanroepen in een Windows-bureaublad-app

Onze excuses voor het ongemak en waarderen uw geduld terwijl we werken om dit probleem op te lossen.

In deze quickstart downloadt en voert u een codevoorbeeld uit dat laat zien hoe een WPF-toepassing (Windows Presentation Foundation) gebruikers kan aanmelden en een toegangstoken kan ophalen om de Microsoft Graph API aan te roepen.

Zie Hoe het voorbeeld werkt voor een illustratie.

Stap 1: Uw toepassing configureren in Azure Portal

Voor het codevoorbeeld in deze quickstart, voeg een omleidings-URI van https://login.microsoftonline.com/common/oauth2/nativeclient en ms-appx-web://microsoft.aad.brokerplugin/{client_id} toe.

Al geconfigureerd Uw toepassing is geconfigureerd met deze kenmerken.

Stap 2: Uw Visual Studio-project downloaden

Voer het project uit met Visual Studio 2019.

Aanbeveling

Om fouten te voorkomen die worden veroorzaakt door padlengtebeperkingen in Windows, raden we aan het archief te extraheren of de repository te klonen in een directory dicht bij de wortel van uw schijf.

Stap 3: Uw app is geconfigureerd en gereed om uit te voeren

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

Opmerking

Enter_the_Supported_Account_Info_Here

Meer informatie

Hoe het voorbeeld werkt

Toont hoe de voorbeeld-app werkt die is gegenereerd door deze snelstart

MSAL.NET

MSAL (Microsoft.Identity.Client) is de bibliotheek die wordt gebruikt voor het aanmelden van gebruikers en het aanvragen van tokens die 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 -IncludePrerelease

MSAL-initialisatie

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

using Microsoft.Identity.Client;

Initialiseer vervolgens MSAL met behulp van de volgende code:

IPublicClientApplication publicClientApp = PublicClientApplicationBuilder.Create(ClientId)
                .WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
                .WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
                .Build();
Waar: Beschrijving
ClientId Is de Toepassings-id (client-id) voor de toepassing die is geregistreerd in de Azure-portal. U vindt deze waarde op de pagina Overzicht in de Azure-portal.

Tokens aanvragen

MSAL heeft twee methoden voor het verkrijgen van tokens: AcquireTokenInteractive en AcquireTokenSilent.

Haal interactief een gebruikerstoken op

In sommige situaties moeten gebruikers via een pop-upvenster interactie hebben met het Microsoft Identity Platform om hun referenties te valideren of toestemming te geven. Enkele 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 uw toepassing toegang aanvraagt tot een resource waarvoor de gebruiker toestemming moet geven
  • Wanneer tweeledige verificatie is vereist
authResult = await App.PublicClientApp.AcquireTokenInteractive(_scopes)
                                      .ExecuteAsync();
Waar: Beschrijving
_scopes Bevat de scopes die worden aangevraagd, bijvoorbeeld { "user.read" } voor Microsoft Graph of { "api://<Application ID>/access_as_user" } voor aangepaste web-API's.

Een gebruikerstoken stilletjes ophalen

U wilt niet vereisen dat gebruikers hun referenties telkens valideren wanneer ze toegang nodig hebben tot een resource. Meestal wilt u tokenaankopen en vernieuwen zonder tussenkomst van de gebruiker. U kunt de methode AcquireTokenSilent gebruiken om tokens te verkrijgen voor toegang tot beveiligde resources na de eerste AcquireTokenInteractive methode:

var accounts = await App.PublicClientApp.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await App.PublicClientApp.AcquireTokenSilent(scopes, firstAccount)
                                      .ExecuteAsync();
Waar: Beschrijving
scopes Bevat de scopes die worden aangevraagd, bijvoorbeeld { "user.read" } voor Microsoft Graph of { "api://<Application ID>/access_as_user" } voor aangepaste web-API's.
firstAccount Hiermee geeft u de eerste gebruiker in de cache op (MSAL ondersteunt 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

Probeer de Windows-bureaubladtutorial uit voor een volledige stapsgewijze handleiding over het bouwen van applicaties en nieuwe functies, inclusief een volledige uitleg van deze snelle start.

Handleiding Graph API aanroepen