Snabbstart: Logga in användare och anropa Microsoft Graph från en Node.js skrivbordsapp
I den här snabbstarten laddar du ned och kör ett kodexempel som visar hur ett Elektron-skrivbordsprogram kan logga in användare och hämta åtkomsttoken för att anropa Microsoft Graph API.
Den här snabbstarten använder Microsoft Authentication Library for Node.js (MSAL Node) med auktoriseringskodflödet med PKCE.
Förutsättningar
- Node.js
- Visual Studio Code eller någon annan kodredigerare
Registrera och ladda ned exempelprogrammet
Följ stegen nedan för att komma igång.
Steg 1: Registrera programmet
Dricks
Stegen i den här artikeln kan variera något beroende på vilken portal du börjar från.
Du registrerar programmet och lägger till appens registreringsinformationen i lösningen manuellt med hjälp av följande steg:
- 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, till exempel
msal-node-desktop
. Användare av din app kan se det här namnet och du kan ändra det senare. - Välj Registrera för att skapa programmet.
- Under Hantera väljer du Autentisering.
- Välj Lägg till en plattform>för mobila program och skrivbordsprogram.
- I avsnittet Omdirigerings-URI:er anger du
http://localhost
. - Välj Konfigurera.
Steg 2: Ladda ned electron-exempelprojektet
Steg 3: Konfigurera elektronexempelprojektet
*Extrahera projektet, öppna mappen ms-identity-JavaScript-nodejs-desktop-main och öppna sedan .authConfig.js fil. Ersätt värdet 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_Id_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_Redirect_Uri_Here |
Omdirigerings-URI för det program som du registrerade | msal00001111-aaaa-2222-bbbb-3333cccc4444://auth |
Enter_the_Graph_Endpoint_Here |
Microsoft Graph API-molninstansen som appen anropar | https://graph.microsoft.com/ (inkludera avslutande snedstreck) |
Filen bör se ut ungefär så här:
const AAD_ENDPOINT_HOST = "https://login.microsoftonline.com/"; // include the trailing slash
const msalConfig = {
auth: {
clientId: "00001111-aaaa-2222-bbbb-3333cccc4444",
authority: `${AAD_ENDPOINT_HOST}/aaaabbbb-0000-cccc-1111-dddd2222eeee`,
},
system: {
loggerOptions: {
loggerCallback(loglevel, message, containsPii) {
console.log(message);
},
piiLoggingEnabled: false,
logLevel: LogLevel.Verbose,
}
}
}
const GRAPH_ENDPOINT_HOST = "https://graph.microsoft.com/"; // include the trailing slash
const protectedResources = {
graphMe: {
endpoint: `${GRAPH_ENDPOINT_HOST}v1.0/me`,
scopes: ["User.Read"],
}
};
module.exports = {
msalConfig: msalConfig,
protectedResources: protectedResources,
};
Steg 4: Kör programmet
Du måste installera beroendena för det här exemplet en gång:
cd ms-identity-javascript-nodejs-desktop-main npm install
Kör sedan programmet via kommandotolken eller konsolen:
npm start
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 programmet.
Mer information
Så här fungerar exemplet
När en användare väljer knappen Logga in för första gången acquireTokenInteractive
anropas metoden MSAL Node. Den här metoden omdirigerar användaren till inloggning med Microsofts identitetsplattform slutpunkten, hämtar en auktoriseringskod och byter den sedan mot en åtkomsttoken.
MSAL-nod
MSAL Node är det bibliotek som används för att logga in användare och begära token som används för att komma åt ett API som skyddas av Microsofts identitetsplattform. Mer information om hur du använder MSAL Node med skrivbordsappar finns i den här artikeln.
Du kan installera MSAL Node genom att köra följande npm-kommando.
npm install @azure/msal-node --save
Nästa steg
Mer information om utveckling av Elektron-skrivbordsappar med MSAL Node finns i självstudien: