Dela via


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

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:

  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, till exempel msal-node-desktop. Användare av din app kan se det här namnet och du kan ändra det senare.
  5. Välj Registrera för att skapa programmet.
  6. Under Hantera väljer du Autentisering.
  7. Välj Lägg till en plattform>för mobila program och skrivbordsprogram.
  8. I avsnittet Omdirigerings-URI:er anger du http://localhost.
  9. Välj Konfigurera.

Steg 2: Ladda ned electron-exempelprojektet

Ladda ned kodexemplet

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

  1. Du måste installera beroendena för det här exemplet en gång:

    cd ms-identity-javascript-nodejs-desktop-main
    npm install
    
  2. Kör sedan programmet via kommandotolken eller konsolen:

    npm start
    
  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 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: