Quickstart: Gebruikers aanmelden en de Microsoft Graph API aanroepen vanuit een Node.js-web-app
In deze quickstart wordt een voorbeeld-Node.js-web-app gebruikt om u te laten zien hoe u gebruikers kunt aanmelden met behulp van de autorisatiecodestroom en de Microsoft Graph API kunt aanroepen. In het voorbeeld wordt MSAL Node gebruikt om verificatie af te handelen.
Vereisten
- Een Azure-abonnement. Gratis een Azure-abonnement maken.
- Node.js
- Visual Studio Code of een andere code-editor
De toepassings- en record-id's registreren
Als u de registratie wilt voltooien, geeft u de toepassing een naam op en geeft u de ondersteunde accounttypen op. Nadat de toepassing is geregistreerd, worden in het deelvenster Overzicht van de toepassing de id's weergegeven die nodig zijn in de broncode van de toepassing.
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 Identiteitstoepassingen>> App-registraties en selecteer Nieuwe registratie.
Voer een naam in voor de toepassing, zoals identity-client-web-app.
Bij Ondersteunde accounttypen selecteert u Enkel accounts in deze organisatieadreslijst. Selecteer de optie Help mij kiezen voor informatie over verschillende accounttypen.
Selecteer Registreren.
Het deelvenster Overzicht van de toepassing wordt weergegeven wanneer de registratie is voltooid. Noteer de map-id (tenant) en de toepassings-id (client) die moet worden gebruikt in de broncode van uw toepassing.
Notitie
De ondersteunde accounttypen kunnen worden gewijzigd door te verwijzen naar De accounts wijzigen die door een toepassing worden ondersteund.
Een omleidings-URI voor het platform toevoegen en een clientgeheim maken
Voer de volgende stappen uit om uw app-type op te geven voor uw app-registratie:
- Selecteer Verificatie onder Beheren.
- Selecteer op de pagina Platformconfiguraties de optie Een platform toevoegen en selecteer vervolgens de optie Web.
- Voer voor de omleidings-URI's in
http://localhost:3000/auth/redirect
. - Voer onder afmeldings-URL voor front-channel de naam
https://localhost:5001/signout-callback-oidc
in voor afmelding. - Selecteer Configureren om uw wijzigingen op te slaan.
- Selecteer onder Beheren de optie Certificaten en geheimen Clientgeheimen>>Nieuw clientgeheim. Kies een beschrijving en selecteer vervolgens Toevoegen.
- Noteer de waarde van het Clientgeheim voor later gebruik. Deze waarde wordt slechts eenmaal weergegeven.
De voorbeeldtoepassing klonen of downloaden
Als u de voorbeeldtoepassing wilt verkrijgen, kunt u deze klonen vanuit GitHub of downloaden als een .zip-bestand .
Als u het voorbeeld wilt klonen, opent u een opdrachtprompt en navigeert u naar de locatie waar u het project wilt maken en voert u de volgende opdracht in:
git clone https://github.com/Azure-Samples/ms-identity-node.git
Download het .zip-bestand. Pak het uit naar een bestandspad waarbij de lengte van de naam minder dan 260 tekens is.
Het project configureren
Pak het project uit, open de map ms-identity-node-main en open het .env-bestand in de map App. Vervang de bovenstaande waarden als volgt:
Variabele | Beschrijving | Voorbeeld(en) |
---|---|---|
Enter_the_Cloud_Instance_Id_Here |
Het Azure-cloudexemplaar waarin uw toepassing is geregistreerd | https://login.microsoftonline.com/ (neem de afsluitende slash op) |
Enter_the_Tenant_Info_here |
Tenant-id of primair domein | contoso.microsoft.com of aaaabbbb-0000-cccc-1111-dddd2222eeee |
Enter_the_Application_Id_Here |
Client-id van de toepassing die u hebt geregistreerd | 00001111-aaaa-2222-bbbb-3333cccc4444 |
Enter_the_Client_Secret_Here |
Clientgeheim van de toepassing die u hebt geregistreerd | A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u |
Enter_the_Graph_Endpoint_Here |
Het Microsoft Graph API-cloudexemplaar dat door uw app wordt aangeroepen | https://graph.microsoft.com/ (neem de afsluitende slash op) |
Enter_the_Express_Session_Secret_Here |
Een willekeurige tekenreeks die wordt gebruikt om de Express-sessiecookie te ondertekenen | A1b-C2d_E3f.H4... |
Uw bestand moet er ongeveer zo uitzien:
CLOUD_INSTANCE=https://login.microsoftonline.com/
TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee
CLIENT_ID=00001111-aaaa-2222-bbbb-3333cccc4444
CLIENT_SECRET=A1b-C2d_E3f.H4...
REDIRECT_URI=http://localhost:3000/auth/redirect
POST_LOGOUT_REDIRECT_URI=http://localhost:3000
GRAPH_API_ENDPOINT=https://graph.microsoft.com/
EXPRESS_SESSION_SECRET=6DP6v09eLiW7f1E65B8k
Voer de toepassing uit en meld u aan
Voer het project uit met Node.js.
Voer de volgende opdracht uit vanuit de projectmap om de server te starten:
cd App npm install npm start
Ga naar
http://localhost:3000/
.Selecteer Aanmelden om het aanmeldingsproces te starten.
De eerste keer dat u zich aanmeldt, wordt u gevraagd om toestemming te geven zodat de toepassing zich kan aanmelden en uw profiel kan openen. Nadat u bent aangemeld, wordt u teruggeleid naar de startpagina van de toepassing.
Meer informatie
Hoe het voorbeeld werkt
Het voorbeeld fungeert als host voor een webserver op localhost, poort 3000. Wanneer een webbrowser dit adres opent, wordt de startpagina weergegeven in de app. Zodra de gebruiker Aanmelden selecteert, wordt de browser omgeleid naar het aanmeldingsscherm van Microsoft Entra via de URL die is gegenereerd door de MSAL Node-bibliotheek. Nadat de gebruiker toestemming heeft gegeven, leidt de browser de gebruiker terug naar de startpagina van de toepassing, samen met een id en toegangstoken.
MSAL Node
De MSAL Node-bibliotheek meldt gebruikers aan en verzoekt dat tokens worden gebruikt voor toegang tot een API die wordt beveiligd door het Microsoft Identity-platform. U kunt de nieuwste versie downloaden met behulp van Node.js Package Manager (npm):
npm install @azure/msal-node
Volgende stap
Meer informatie door een ASP.NET Core-web-app te bouwen waarmee gebruikers worden aangemeld in de volgende meerdelige reeks zelfstudies: