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
- En Azure-prenumeration. Skapa en Azure-prenumeration kostnadsfritt.
- Node.js
- Visual Studio Code eller någon annan kodredigerare
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.
- Logga in på administrationscentret för Microsoft Entra som minst molnprogramadministratör.
- 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.
- Bläddra till Identitetsprogram>> Appregistreringar och välj Ny registrering.
- Ange ett namn för ditt program. Användare av din app kan se det här namnet och du kan ändra det senare.
- Under Kontotyper som stöds väljer du Endast Konton i den här organisationskatalogen.
- Ange omdirigerings-URI-typen till Webb och värdet till
http://localhost:3000/auth/redirect
. - Välj Registrera.
- På appöversiktssidan noterar du värdet program-ID (klient) för senare användning.
- 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.
- 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.
Starta servern genom att köra följande kommandon från projektkatalogen:
cd App npm install npm start
Gå till
http://localhost:3000/
.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: