Share via


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

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.

  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 Identiteitstoepassingen>> App-registraties en selecteer Nieuwe registratie.

  4. Voer een naam in voor de toepassing, zoals identity-client-web-app.

  5. Bij Ondersteunde accounttypen selecteert u Enkel accounts in deze organisatieadreslijst. Selecteer de optie Help mij kiezen voor informatie over verschillende accounttypen.

  6. Selecteer Registreren.

    Schermopname die laat zien hoe u een naam invoert en het accounttype selecteert in het Microsoft Entra-beheercentrum.

  7. 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.

    Schermopname van de id-waarden op de overzichtspagina in het Microsoft Entra-beheercentrum.

    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:

  1. Selecteer Verificatie onder Beheren.
  2. Selecteer op de pagina Platformconfiguraties de optie Een platform toevoegen en selecteer vervolgens de optie Web.
  3. Voer voor de omleidings-URI's in http://localhost:3000/auth/redirect.
  4. Voer onder afmeldings-URL voor front-channel de naam https://localhost:5001/signout-callback-oidc in voor afmelding.
  5. Selecteer Configureren om uw wijzigingen op te slaan.
  6. Selecteer onder Beheren de optie Certificaten en geheimen Clientgeheimen>>Nieuw clientgeheim. Kies een beschrijving en selecteer vervolgens Toevoegen.
  7. 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.

  1. Voer de volgende opdracht uit vanuit de projectmap om de server te starten:

    cd App
    npm install
    npm start
    
  2. Ga naar http://localhost:3000/.

  3. 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: