Guida introduttiva: Accedere agli utenti e chiamare Microsoft Graph da un'app desktop Node.js

In questa guida introduttiva si scarica ed esegue un esempio di codice che illustra come un'applicazione desktop Electron può accedere agli utenti e acquisire i token di accesso per chiamare l'API Microsoft Graph.

Questa guida introduttiva usa Microsoft Authentication Library per Node.js (nodo MSAL) con il flusso del codice di autorizzazione con PKCE.

Prerequisiti

Registrare e scaricare l'applicazione di esempio

Per iniziare, seguire questa procedura.

Passaggio 1: Registrare l'applicazione

Suggerimento

I passaggi descritti in questo articolo possono variare leggermente in base al portale da cui si inizia.

Per registrare l'applicazione e aggiungere manualmente le informazioni di registrazione dell'app alla soluzione, seguire questa procedura:

  1. Accedere all'interfaccia di amministrazione di Microsoft Entra come almeno un'applicazione cloud Amministrazione istrator.
  2. Se si ha accesso a più tenant, usare l'icona Impostazioni nel menu in alto per passare al tenant in cui si vuole registrare l'applicazione dal menu Directory e sottoscrizioni.
  3. Passare a Applicazioni> di identità>Registrazioni app e selezionare Nuova registrazione.
  4. In Nome immettere un nome per l'applicazione, ad esempio msal-node-desktop. Tale nome, che potrebbe essere visualizzato dagli utenti dell'app, può essere modificato in un secondo momento.
  5. Selezionare Registra per creare l'applicazione.
  6. In Gestisci selezionare Autenticazione.
  7. Selezionare Aggiungi una piattaforma>Applicazioni per dispositivi mobili e desktop.
  8. Nella sezione URI di reindirizzamento immettere http://localhost.
  9. Seleziona Configura.

Passaggio 2: Scaricare il progetto di esempio Electron

Scaricare il codice di esempio

Passaggio 3: Configurare il progetto di esempio Electron

*Estrarre il progetto, aprire la cartella ms-identity-JavaScript-nodejs-desktop-main e quindi aprire .authConfig.js file. Sostituire il valore come segue:

Variabile Descrizione Esempi
Enter_the_Cloud_Instance_Id_Here Istanza cloud di Azure in cui è registrata l'applicazione https://login.microsoftonline.com/ (includere la barra finale)
Enter_the_Tenant_Id_Here ID tenant o dominio primario contoso.microsoft.com oppure aaaabbbb-0000-cccc-1111-dddd2222eeee
Enter_the_Application_Id_Here ID client dell'applicazione registrata 00001111-aaaa-2222-bbbb-3333cccc4444
Enter_the_Redirect_Uri_Here Uri di reindirizzamento dell'applicazione registrata msal00001111-aaaa-2222-bbbb-3333cccc4444://auth
Enter_the_Graph_Endpoint_Here Istanza cloud dell'API Microsoft Graph che verrà chiamata dall'app https://graph.microsoft.com/ (includere la barra finale)

Il file dovrebbe essere simile al seguente:

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,
 };

Passaggio 4: Eseguire l'applicazione

  1. È necessario installare le dipendenze di questo esempio una volta:

    cd ms-identity-javascript-nodejs-desktop-main
    npm install
    
  2. Eseguire quindi l'applicazione tramite il prompt dei comandi o la console:

    npm start
    
  3. Selezionare Accedi per avviare il processo di accesso.

    La prima volta che si accede, viene richiesto di fornire il consenso per consentire all'applicazione di accedere e accedere al profilo. Dopo aver eseguito l'accesso, si verrà reindirizzati all'applicazione.

Ulteriori informazioni

Funzionamento dell'esempio

Quando un utente seleziona il pulsante Accedi per la prima volta, acquireTokenInteractive viene chiamato il metodo del nodo MSAL. Questo metodo reindirizza l'utente all'accesso con l'endpoint di Microsoft Identity Platform, ottiene un codice di autorizzazione e quindi lo scambia per un token di accesso.

MSAL Node

Il nodo MSAL è la libreria usata per accedere agli utenti e richiedere token usati per accedere a un'API protetta da Microsoft Identity Platform. Per altre informazioni su come usare MSAL Node con le app desktop, vedere questo articolo.

È possibile installare MSAL Node eseguendo il comando npm seguente.

npm install @azure/msal-node --save

Passaggi successivi

Per altre informazioni sullo sviluppo di app desktop Electron con MSAL Node, vedere l'esercitazione: