Share via


Guida introduttiva: Accedere agli utenti e chiamare l'API Microsoft Graph da un'applicazione Web Node.js usando MSAL Node

In questa guida introduttiva si scarica ed esegue un esempio di codice che illustra come un'app Web Node.js può consentire agli utenti di accedere usando il flusso del codice di autorizzazione. L'esempio di codice illustra anche come ottenere un token di accesso per chiamare l'API Microsoft Graph.

Per un'illustrazione, vedere Funzionamento dell'esempio.

Questo argomento di avvio rapido usa Microsoft Authentication Library per Node.js (MSAL Node) con il flusso di codice di autorizzazione.

Prerequisiti

Registrare e scaricare l'app dell'avvio rapido

Passaggio 1: Registrare l'applicazione

Suggerimento

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

  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. Immettere un nome per l'applicazione. Tale nome, che potrebbe essere visualizzato dagli utenti dell'app, può essere modificato in un secondo momento.
  5. In Tipi di account supportati selezionare Account solo in questa directory organizzativa.
  6. Impostare il tipo di URI di reindirizzamento su Web e il valore su http://localhost:3000/auth/redirect.
  7. Selezionare Registra.
  8. Nella pagina Panoramica dell'app prendere nota del valore del campo ID applicazione (client) per uso successivo.
  9. In Gestisci selezionare Certificati e segreti>Segreti>client Nuovo segreto client. Lasciare vuota la descrizione e mantenere invariata la scadenza predefinita, quindi selezionare Aggiungi.
  10. Si noti il valore di Segreto client per un uso successivo.

Passaggio 2: Scaricare il progetto

Per eseguire il progetto con un server Web, ad esempio Node.js, scaricare i file di progetto di base.

Passaggio 3: Configurare l'app Node

Estrarre il progetto, aprire la cartella ms-identity-node-main e quindi aprire il file con estensione env nella cartella App . Sostituire i valori precedenti come indicato di seguito:

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_Info_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_Client_Secret_Here Segreto client dell'applicazione registrata A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u
Enter_the_Graph_Endpoint_Here Istanza cloud dell'API Microsoft Graph che verrà chiamata dall'app https://graph.microsoft.com/ (includere la barra finale)
Enter_the_Express_Session_Secret_Here Stringa casuale di caratteri usata per firmare il cookie di sessione Express A1b-C2d_E3f.H4...

Il file dovrebbe essere simile al seguente:

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

Passaggio 4: Eseguire il progetto

Eseguire il progetto usando Node.js.

  1. Per avviare il server, eseguire i comandi seguenti nella directory del progetto:

    cd App
    npm install
    npm start
    
  2. Vai a http://localhost:3000/.

  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 alla home page dell'applicazione.

Ulteriori informazioni

Funzionamento dell'esempio

L'esempio ospita un server Web in localhost, porta 3000. Quando un Web browser accede a questo indirizzo, l'app esegue il rendering della home page. Quando l'utente seleziona Accedi, l'app reindirizza il browser alla schermata di accesso di Microsoft Entra tramite l'URL generato dalla libreria di nodi MSAL. Dopo il consenso dell'utente, il browser reindirizza l'utente alla home page dell'applicazione, insieme a un ID e un token di accesso.

MSAL Node

Con la libreria MSAL Node è possibile concedere l'accesso agli utenti e richiedere i token usati per accedere a un'API protetta da Microsoft Identity Platform. È possibile scaricare l'ultima versione usando Node.js Package Manager (npm):

npm install @azure/msal-node

Passaggi successivi

Per altre informazioni, creare un'app Web ASP.NET Core che consente agli utenti di accedere alla serie di esercitazioni in più parti seguente: