Condividi tramite


Guida introduttiva: Eseguire l’accesso degli utenti e chiamare l'API Microsoft Graph da un'app Web Node.js

In questa guida introduttiva si scarica e si esegue un esempio di codice di un'applicazione desktop Electron che consente agli utenti di accedere e ottenere token di accesso per chiamare l'API Microsoft Graph.

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

Prerequisiti

Registrare e scaricare l'applicazione di esempio

Per iniziare, seguire questa procedura.

Passaggio 1: Registrare l'applicazione

Suggerimento

La procedura descritta in questo articolo può variare leggermente in base al portale di partenza.

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 almeno come Amministratore applicazione cloud.
  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 Identità>Applicazioni>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 il file .authConfig.js. Sostituire i valori come indicato di seguito:

Variabile Descrizione Esempi
Enter_the_Cloud_Instance_Id_Here L’istanza del cloud di Azure in cui è registrata l'applicazione https://login.microsoftonline.com/ (includere la barra finale in avanti)
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 in avanti)

Il file dovrà 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. Le dipendenze di questo esempio devono essere installate una sola 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.

    Al primo accesso viene richiesto di fornire il proprio consenso per consentire all'applicazione di eseguire l’accesso e accedere al profilo. Una volta completato l’accesso, si verrà reindirizzati all'applicazione.

Ulteriori informazioni

Funzionamento dell'esempio

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

MSAL Node

MSAL Node è la libreria usata per concedere l'accesso agli utenti e richiedere i 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 un’applicazione desktop Electron con MSAL Node, vedere l'esercitazione: