Delen via


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

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. De desktop-app die u bouwt, maakt gebruik van de autorisatiecodestroom die is gekoppeld aan de PKCE-standaard (Proof Key for Code Exchange).

Zie Hoe het voorbeeld werkt voor een afbeelding.

Voorwaarden

Uw quickstart-app registreren en downloaden

Je hebt twee opties om je snelle starttoepassing te starten:

Optie 1: Uw app registreren en automatisch configureren en vervolgens het codevoorbeeld downloaden

  1. Ga naar het Microsoft Entra-beheercentrum - App-registratiesquickstart-ervaring.
  2. Voer een naam in voor uw applicatie en selecteer Register.
  3. Volg de instructies om uw nieuwe toepassing met slechts één klik te downloaden en automatisch te configureren.

Optie 2: Uw toepassing en codevoorbeeld registreren en handmatig configureren

Stap 1: Uw toepassing registreren

Voer de volgende stappen uit om uw toepassing te registreren en de registratiegegevens van de app handmatig toe te voegen aan uw oplossing:

  1. Meld u aan bij het Microsoft Entra-beheercentrum.
  2. Als u toegang hebt tot meerdere tenants, gebruikt u het pictogram Instellingen in het bovenste menu om over te schakelen naar de tenant waarin u de toepassing wilt registreren in het menu Mappen en abonnementen.
  3. Blader naar Identity>Applications>App-registratiesen selecteer Nieuwe registratie.
  4. Voer een naam in voor uw toepassing, bijvoorbeeld Win-App-calling-MsGraph. Gebruikers van uw app zien deze naam mogelijk en u kunt deze later wijzigen.
  5. Selecteer in de sectie Ondersteunde accounttypenAccounts in een organisatiedirectory en persoonlijke Microsoft-accounts (bijvoorbeeld Skype, Xbox, Outlook.com).
  6. Selecteer register om de toepassing te maken.
  7. Kies onder Beheer, Authenticatie.
  8. Selecteer Een platform toevoegen>Mobiele en bureaubladtoepassingen.
  9. Selecteer in de sectie Omleidings-URI'shttps://login.microsoftonline.com/common/oauth2/nativeclient en voeg in aangepaste omleidings-URI's toe ms-appx-web://microsoft.aad.brokerplugin/{client_id} waar {client_id} de toepassings-id (client) van uw toepassing is (dezelfde GUID die wordt weergegeven in het selectievakje msal{client_id}://auth).
  10. Selecteer en configureer.

Stap 2: Het project downloaden

De WPF-voorbeeldtoepassing downloaden

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: Het project configureren

  1. Pak het zip-bestand uit in een lokale map dicht bij de hoofdmap van de schijf, bijvoorbeeld C:\Azure-Samples.

  2. Open het project in Visual Studio.

  3. Bewerk App.Xaml.cs en vervang de waarden van de velden ClientId en Tenant door de volgende code:

    private static string ClientId = "Enter_the_Application_Id_here";
    private static string Tenant = "Enter_the_Tenant_Info_Here";
    

Waar:

  • Enter_the_Application_Id_here- is de toepassings-id (client)-id voor de toepassing die u hebt geregistreerd.

    Als u de waarde van Toepassings-id (client)-idwilt vinden, gaat u naar de pagina Overzicht van de app in het Microsoft Entra-beheercentrum.

  • Enter_the_Tenant_Info_Here - is ingesteld op een van de volgende opties:

    • Als uw toepassing accounts in deze organisatiemapondersteunt, vervangt u deze waarde door de tenant-id of tenantnaam (bijvoorbeeld contoso.microsoft.com)

    • Als uw toepassing Accounts in een organisatiemapondersteunt, vervangt u deze waarde door organizations

    • Als uw toepassing Accounts in een organisatiemap en persoonlijke Microsoft-accountsondersteunt, vervangt u deze waarde door common.

      Als u de waarden van Directory-id (tenant) en Ondersteunde accounttypenwilt vinden, gaat u naar de pagina Overzicht van de app in het Microsoft Entra-beheercentrum.

Stap 4: De toepassing uitvoeren

Als u de voorbeeldtoepassing wilt bouwen en uitvoeren in Visual Studio, selecteert u het menu Foutopsporing starten>Foutopsporing startenof drukt u op F5. De MainWindow van uw toepassing wordt weergegeven.

Wanneer het hoofdvenster van de app wordt weergegeven, selecteert u de knop Microsoft Graph API aanroepen. U wordt gevraagd om u aan te melden met uw referenties voor uw Microsoft Entra-account (werk- of schoolaccount) of Microsoft-account (live.com, outlook.com).

Als u de toepassing voor de eerste keer uitvoert, wordt u gevraagd toestemming te geven om de toepassing toegang te geven tot uw gebruikersprofiel en u aan te melden. Nadat u toestemming hebt gegeven voor de aangevraagde machtigingen, wordt in de toepassing weergegeven dat u bent aangemeld. U ziet enkele basistokengegevens en gebruikersgegevens die zijn verkregen uit de aanroep naar de Microsoft Graph API.

Meer informatie

Hoe het voorbeeld werkt

diagram waarin wordt getoond hoe de voorbeeld-app die door deze quickstart is gegenereerd, werkt.

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 de 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 Toepassing (client) ID geregistreerd voor de toepassing in het Microsoft Entra-beheercentrum? U vindt deze waarde op de pagina Overzicht van de app in het Microsoft Entra-beheercentrum.

Tokens aanvragen

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

Interatief een gebruikerstoken ophalen

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 invoeren 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.AcquireTokenInteractive(_scopes)
                                      .ExecuteAsync();
Waar: Beschrijving
_scopes Bevat de toegangsgebieden die worden aangevraagd, zoals { "user.read" } voor Microsoft Graph of { "api://<Application ID>/access_as_user" } voor gebruikersgedefinieerde web-API's.

Een gebruikerstoken zonder meldingen 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.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
authResult = await app.AcquireTokenSilent(scopes, firstAccount)
                                      .ExecuteAsync();
Waar: Beschrijving
scopes Bevat de machtigingen die worden aangevraagd, zoals { "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 wilt weten over uw ondersteuningsopties, raadpleegt u Help 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