Snabbstart: Logga in användare och anropa Microsoft Graph API från en Node.js webbapp med MSAL Node

I den här snabbstarten laddar du ned och kör ett kodexempel som visar hur en Node.js webbapp kan logga in användare med hjälp av auktoriseringskodflödet. Kodexemplet visar också hur du hämtar en åtkomsttoken för att anropa Microsoft Graph API.

Se Så här fungerar exemplet för en bild.

Den här snabbstarten använder Microsoft Authentication Library for Node.js (MSAL Node) med auktoriseringskodflödet.

Förutsättningar

Registrera och ladda ned snabbstartsprogrammet

Steg 1: Registrera din app

Dricks

Stegen i den här artikeln kan variera något beroende på vilken portal du börjar från.

  1. Logga in på administrationscentret för Microsoft Entra som minst molnprogramadministratör.
  2. Om du har åtkomst till flera klienter använder du ikonen Inställningar på den översta menyn för att växla till den klientorganisation där du vill registrera programmet från menyn Kataloger + prenumerationer.
  3. Bläddra till Identitetsprogram>> Appregistreringar och välj Ny registrering.
  4. Ange ett namn för ditt program. Användare av din app kan se det här namnet och du kan ändra det senare.
  5. Under Kontotyper som stöds väljer du Endast Konton i den här organisationskatalogen.
  6. Ange omdirigerings-URI-typen till Webb och värdet till http://localhost:3000/auth/redirect.
  7. Välj Registrera.
  8. På appöversiktssidan noterar du värdet program-ID (klient) för senare användning.
  9. Under Hantera väljer du Certifikat och hemligheter>Klienthemligheter>Ny klienthemlighet. Lämna beskrivningen tom och standard förfallodatum och välj sedan Lägg till.
  10. Observera värdet för Klienthemlighet för senare användning.

Steg 2: Ladda ned projektet

Om du vill köra projektet med en webbserver med hjälp av Node.js laddar du ned kärnprojektfilerna.

Steg 3: Konfigurera node-appen

Extrahera projektet, öppna mappen ms-identity-node-main och öppna sedan .env-filen under mappen App . Ersätt värdena ovan enligt följande:

Olika beskrivning Exempel
Enter_the_Cloud_Instance_Id_Here Azure-molninstansen där ditt program är registrerat https://login.microsoftonline.com/ (inkludera avslutande snedstreck)
Enter_the_Tenant_Info_here Klientorganisations-ID eller primär domän contoso.microsoft.com eller aaaabbbb-0000-cccc-1111-dddd2222eeee
Enter_the_Application_Id_Here Klient-ID för det program som du registrerade 00001111-aaaa-2222-bbbb-3333cccc4444
Enter_the_Client_Secret_Here Klienthemlighet för det program som du registrerade A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u
Enter_the_Graph_Endpoint_Here Microsoft Graph API-molninstansen som appen anropar https://graph.microsoft.com/ (inkludera avslutande snedstreck)
Enter_the_Express_Session_Secret_Here En slumpmässig sträng med tecken som används för att signera Express-sessionscookien A1b-C2d_E3f.H4...

Filen bör se ut ungefär så här:

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

Steg 4: Kör projektet

Kör projektet med hjälp av Node.js.

  1. Starta servern genom att köra följande kommandon från projektkatalogen:

    cd App
    npm install
    npm start
    
  2. Gå till http://localhost:3000/.

  3. Välj Logga in för att starta inloggningsprocessen.

    Första gången du loggar in uppmanas du att ge ditt medgivande så att programmet kan logga in dig och komma åt din profil. När du har loggat in omdirigeras du tillbaka till programmets startsida.

Mer information

Så här fungerar exemplet

Exemplet är värd för en webbserver på localhost, port 3000. När en webbläsare kommer åt den här adressen renderar appen startsidan. När användaren har valt Logga in omdirigerar appen webbläsaren till Microsoft Entra-inloggningsskärmen via url:en som genereras av MSAL Node-biblioteket. Efter användarens medgivande omdirigerar webbläsaren användaren tillbaka till programmets startsida, tillsammans med ett ID och en åtkomsttoken.

MSAL-nod

MSAL Node-biblioteket loggar in användare och begär de token som används för att komma åt ett API som skyddas av Microsofts identitetsplattform. Du kan ladda ned den senaste versionen med hjälp av Node.js Package Manager (npm):

npm install @azure/msal-node

Nästa steg

Läs mer genom att skapa en ASP.NET Core-webbapp som loggar in användare i följande självstudieserie i flera delar: