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
- Visual Studio met de ontwikkelomgeving voor het Universal Windows Platform geïnstalleerd
Uw quickstart-app registreren en downloaden
Je hebt twee opties om je snelle starttoepassing te starten:
- [Express] optie 1: uw app registreren en automatisch configureren en vervolgens het codevoorbeeld downloaden
- [Handmatig] optie 2: uw toepassing en codevoorbeeld registreren en handmatig configureren
Optie 1: Uw app registreren en automatisch configureren en vervolgens het codevoorbeeld downloaden
- Ga naar het Microsoft Entra-beheercentrum - App-registratiesquickstart-ervaring.
- Voer een naam in voor uw applicatie en selecteer Register.
- 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:
- Meld u aan bij het Microsoft Entra-beheercentrum.
- 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.
- Blader naar Identity>Applications>App-registratiesen selecteer Nieuwe registratie.
- 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. - Selecteer in de sectie Ondersteunde accounttypenAccounts in een organisatiedirectory en persoonlijke Microsoft-accounts (bijvoorbeeld Skype, Xbox, Outlook.com).
- Selecteer register om de toepassing te maken.
- Kies onder Beheer, Authenticatie.
- Selecteer Een platform toevoegen>Mobiele en bureaubladtoepassingen.
- Selecteer in de sectie Omleidings-URI's
https://login.microsoftonline.com/common/oauth2/nativeclient
en voeg in aangepaste omleidings-URI's toems-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 selectievakjemsal{client_id}://auth
). - 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
Pak het zip-bestand uit in een lokale map dicht bij de hoofdmap van de schijf, bijvoorbeeld C:\Azure-Samples.
Open het project in Visual Studio.
Bewerk App.Xaml.cs en vervang de waarden van de velden
ClientId
enTenant
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
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