Share via


Quickstart: Gebruikers aanmelden in een voorbeeldweb-app

In deze quickstart gebruikt u een voorbeeldweb-app om u te laten zien hoe u gebruikers aanmeldt en Microsoft Graph API aanroept in uw personeelstenant. De voorbeeld-app maakt gebruik van de Microsoft Authentication Library voor het afhandelen van verificatie.

Voordat u begint, gebruikt u de Kies een tenanttype selector boven aan deze pagina om het tenanttype te selecteren. Microsoft Entra ID biedt twee tenantconfiguraties, werknemers en externe. Een tenantconfiguratie voor werknemers is bedoeld voor uw werknemers, interne apps en andere organisatieresources. Een externe tenant is bedoeld voor uw klantgerichte apps.

Voorwaarden

  • Een Azure-account met een actief abonnement. Als u nog geen account hebt, maak gratis een account aan.
  • Dit Azure-account moet machtigingen hebben voor het beheren van toepassingen. Een van de volgende Microsoft Entra-rollen omvat de vereiste machtigingen:
    • Toepassingsbeheerder
    • Toepassingsontwikkelaar
    • Cloudtoepassingsbeheerder
  • Een personeelstenant. U kunt uw standaardmap gebruiken of een nieuwe tenant instellen.
  • Visual Studio Code of een andere code-editor.
  • Registreer een nieuwe app in het Microsoft Entra-beheercentrum met de volgende configuratie. Zie Een toepassing registrerenvoor meer informatie.
    • naam: identity-client-web-app
    • Ondersteunde accounttypen: accounts in deze organisatiemap (alleen één tenant)
    • Platform-configuratie: Web
    • omleidings-URI: http://localhost:3000/auth/redirect
    • Frontkanaal afmeldings-URL: https://localhost:5001/signout-callback-oidc
  • Node.js

App-clientgeheim of -certificaat toevoegen

Maak een clientgeheim voor de geregistreerde toepassing. De toepassing gebruikt het clientgeheim om de identiteit te bewijzen wanneer er tokens worden aangevraagd:

  1. Selecteer op de pagina App-registraties de toepassing die u hebt gemaakt (zoals webapp client secret) om de pagina Overzicht te openen.
  2. Selecteer onder BeherenCertificaten & geheimen>Clientgeheimen>Nieuw clientgeheim.
  3. Voer in het vak Beschrijving een beschrijving in voor het clientgeheim (bijvoorbeeld clientgeheim van de web-app).
  4. Selecteer onder Verlooptde duur waarvoor het geheim geldig is (volgens de beveiligingsregels van uw organisatie) en klik vervolgens op Toevoegen.
  5. Noteer de waarde van geheim . U gebruikt deze waarde voor configuratie in een latere stap. De geheime waarde wordt niet opnieuw weergegeven en kan op geen enkele manier worden opgehaald nadat u weg navigeert van de Certificaten en geheimen. Zorg ervoor dat u deze opneemt.

Wanneer u referentiegegevens aanmaakt voor een vertrouwelijke clientapplicatie:

  • Microsoft raadt u aan een certificaat te gebruiken in plaats van een clientgeheim voordat u de toepassing naar een productieomgeving verplaatst. Zie voor meer informatie over het gebruik van een certificaat instructies in verificatiecertificaatreferenties voor microsoft-identiteitsplatformtoepassingen.

  • Voor testdoeleinden kunt u een zelfondertekend certificaat maken en uw apps configureren om ermee te verifiëren. in productie-moet u echter een certificaat kopen dat is ondertekend door een bekende certificeringsinstantie en vervolgens Azure Key Vault- gebruiken om de toegang tot certificaten en levensduur te beheren.

Voorbeeldwebtoepassing klonen of downloaden

Als u de voorbeeldtoepassing wilt verkrijgen, kunt u deze klonen vanuit GitHub of downloaden als een .zip-bestand.

  • Download het .zip bestanden pak het uit naar een bestandspad waarin de lengte van de naam minder dan 260 tekens is of kloon de opslagplaats:

  • 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
    

De voorbeeldweb-app configureren

Als u gebruikers wilt aanmelden met de voorbeeld-app, moet u deze bijwerken met uw app- en tenantgegevens:

Open in de map ms-identity-node-main het bestand .env in de map App. Vervang de volgende tijdelijke aanduidingen:

Veranderlijk Beschrijving Voorbeeld(en)
Enter_the_Cloud_Instance_Id_Here Het Azure-cloudexemplaar waarin uw toepassing is geregistreerd https://login.microsoftonline.com/ (inclusief de eindslash)
Enter_the_Tenant_Info_here Tenant-ID ofwel 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 die uw app aanroept https://graph.microsoft.com/ (inclusief de afsluitende slash)
Enter_the_Express_Session_Secret_Here Een willekeurige tekenreeks die wordt gebruikt voor het ondertekenen van de Express-sessiecookie. A1b-C2d_E3f.H4...

Nadat u wijzigingen hebt aangebracht, ziet het bestand er ongeveer als volgt uit:

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

Voorbeeld-web-app uitvoeren en testen

U hebt uw voorbeeld-app geconfigureerd. U kunt doorgaan met uitvoeren en testen.

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

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

  3. Klik op Aanmelden om het aanmeldingsproces te starten.

De eerste keer dat u zich aanmeldt, wordt u gevraagd uw toestemming te geven om de toepassing toe te staan u aan te melden en toegang te krijgen tot uw profiel. Nadat u bent aangemeld, wordt u teruggeleid naar de startpagina van de toepassing.

Hoe de app 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 Aanmeldenselecteert, 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.

In deze quickstart gebruikt u een voorbeeldweb-app om u te laten zien hoe u gebruikers in uw externe tenant kunt aanmelden. De voorbeeld-app maakt gebruik van de Microsoft Authentication Library voor het afhandelen van verificatie.

Voordat u begint, gebruikt u de Kies een tenanttype selector boven aan deze pagina om het tenanttype te selecteren. Microsoft Entra ID biedt twee tenantconfiguraties, werknemers en externe. Een tenantconfiguratie voor werknemers is bedoeld voor uw werknemers, interne apps en andere organisatieresources. Een externe tenant is bedoeld voor uw klantgerichte apps.

Voorwaarden

App-clientgeheim toevoegen

Maak een clientgeheim voor de geregistreerde toepassing. De toepassing gebruikt het clientgeheim om de identiteit te bewijzen wanneer er tokens worden aangevraagd:

  1. Selecteer op de pagina App-registraties de toepassing die u hebt gemaakt (zoals clientgeheim voor web-apps) om de pagina Overzicht te openen.
  2. Selecteer onder BeherenCertificaten & Geheimen>Clientgeheimen>Nieuw clientgeheim.
  3. Voer in het vak Beschrijving een beschrijving in voor het clientgeheim (bijvoorbeeld clientgeheim van de web-app).
  4. Selecteer onder verloopteen duur waarvoor het geheim geldig is (volgens de beveiligingsregels van uw organisatie) en selecteer vervolgens Toevoegen.
  5. Noteer de waarde van het geheim. U gebruikt deze waarde voor configuratie in een latere stap. De geheime waarde wordt niet opnieuw weergegeven en kan op geen enkele manier worden opgehaald nadat u weg navigeert van de Certificaten en geheimen. Zorg ervoor dat u deze opneemt.

Wanneer u referentiegegevens aanmaakt voor een vertrouwelijke klanttoepassing:

  • Microsoft raadt u aan een certificaat te gebruiken in plaats van een clientgeheim voordat u de toepassing naar een productieomgeving verplaatst. Zie voor meer informatie over het gebruik van een certificaat instructies in verificatiecertificaatreferenties voor microsoft-identiteitsplatformtoepassingen.

  • Voor testdoeleinden kunt u een zelfondertekend certificaat maken en uw apps configureren om ermee te verifiëren. in productie-moet u echter een certificaat aanschaffen dat is ondertekend door een bekende certificeringsinstantie, en vervolgens Azure Key Vault- gebruiken om de toegang tot certificaten en de levensduur te beheren.

Nadat u uw toepassing hebt geregistreerd, wordt de machtiging User.Read toegewezen. Omdat de tenant echter een externe tenant is, kunnen de gebruikers van de klant zelf geen toestemming geven voor deze machtiging. U als tenantbeheerder moet toestemming geven voor deze machtiging namens alle gebruikers in de tenant:

  1. Selecteer op de pagina App-registraties de toepassing die u hebt gemaakt (zoals ciam-client-app) om de pagina Overzicht te openen.

  2. Selecteer onder BeherenAPI machtigingen.

    1. Selecteer Beheerderstoestemming verlenen voor <uw tenantnaam>en selecteer vervolgens Ja.
    2. Selecteer Vernieuwenen controleer of verleend voor <uw tenantnaam> wordt weergegeven onder Status voor de machtiging.

Voorbeeldwebtoepassing 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-ciam-javascript-tutorial.git
    
  • Als alternatief het voorbeeldbestand .zip downloadenen vervolgens uitpakken naar een bestandspad waarin de lengte van de naam minder dan 260 tekens is.

Projectafhankelijkheden installeren

  1. Open een consolevenster en ga naar de map met de Node.js voorbeeld-app:

    cd 1-Authentication\5-sign-in-express\App
    
  2. Voer de volgende opdrachten uit om app-afhankelijkheden te installeren:

    npm install
    

De voorbeeldweb-app configureren

Als u gebruikers wilt aanmelden met de voorbeeld-app, moet u deze bijwerken met uw app- en tenantgegevens:

  1. In uw code-editor, open het App\authConfig.js-bestand.

  2. Zoek de tijdelijke aanduiding:

    • Enter_the_Application_Id_Here en vervang deze door de toepassings-id (client) van de app die u eerder hebt geregistreerd.
    • Enter_the_Tenant_Subdomain_Here en vervang dit door het subdomein Directory (tenant). Als uw primaire tenantdomein bijvoorbeeld is contoso.onmicrosoft.com, gebruikt u contoso. Als u uw tenantnaam niet hebt, leert u hoe u uw tenantgegevens kunt lezen.
    • Enter_the_Client_Secret_Here en vervang deze door de waarde van het app-geheim die u eerder hebt gekopieerd.

Voorbeeld-web-app uitvoeren en testen

U kunt nu de voorbeeld-Node.js-web-app testen. U moet de Node.js-server starten en toegankelijk maken via uw browser op http://localhost:3000.

  1. Voer in de terminal de volgende opdracht uit:

    npm start 
    
  2. Open uw browser en ga vervolgens naar http://localhost:3000. De pagina ziet er ongeveer als volgt uit:

    Schermopname van aanmelden bij een knooppuntweb-app.

  3. Nadat de pagina is geladen, selecteert u Aanmelden wanneer hierom wordt gevraagd.

  4. Typ op de aanmeldingspagina uw e-mailadres, selecteer Volgende, typ uw wachtwoorden selecteer Aanmelden. Als u geen account hebt, selecteert u Geen account? Maak één koppeling, waarmee de registratiestroom wordt gestart.

  5. Als u de registratieoptie kiest, voltooit u de volledige aanmeldingsstroom nadat u uw e-mail hebt ingevuld, eenmalige wachtwoordcode, nieuw wachtwoord en meer accountgegevens. U ziet een pagina die vergelijkbaar is met de volgende schermopname. U ziet een vergelijkbare pagina als u de aanmeldingsoptie kiest.

    schermafbeelding van weergave-ID-tokenclaims.

  6. Selecteer Afmelden om de gebruiker af te melden bij de web-app of selecteer Id-tokenclaims weergeven om id-tokenclaims weer te geven die door Microsoft Entra worden geretourneerd.

Hoe het werkt

Wanneer gebruikers de koppeling Aanmelden selecteren, initieert de app een verificatieaanvraag en worden gebruikers omgeleid naar externe Microsoft Entra-id. Op de aanmeldings- of registratiepagina die wordt weergegeven, wanneer een gebruiker zich heeft aangemeld of een account maakt, retourneert Microsoft Entra External ID een id-token naar de app. De app valideert het id-token, leest de claims en retourneert een beveiligde pagina aan de gebruikers.

Wanneer de gebruikers de koppeling Afmelden selecteren, wordt de sessie gewist en wordt de gebruiker omgeleid naar het afmeldingseindpunt van Microsoft Entra External ID om te melden dat de gebruiker zich heeft afgemeld.

Als u een app wilt bouwen die vergelijkbaar is met het voorbeeld dat u hebt uitgevoerd, voert u de stappen uit in Gebruikers aanmelden in uw eigen Node.js webtoepassing artikel.