Guida introduttiva: Accedere agli utenti e chiamare l'API Microsoft Graph da un'app Web Node.js
Questa guida introduttiva usa un esempio Node.js'app Web per illustrare come accedere gli utenti usando il flusso del codice di autorizzazione e chiamare l'API Microsoft Graph. L'esempio usa il nodo MSAL per gestire l'autenticazione.
Prerequisiti
- Una sottoscrizione di Azure. Creare una sottoscrizione di Azure gratuitamente.
- Node.JS
- Visual Studio Code o un altro editor di codice
Registrare l'applicazione e gli identificatori del record
Per completare la registrazione indicare il nome dell'applicazione e specificare i tipi di account supportati. Dopo la registrazione, nel riquadro Panoramica dell'applicazione vengono visualizzati gli identificatori necessari nel codice sorgente dell'applicazione.
Accedi all'Interfaccia di amministrazione di Microsoft Entra.
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.
Passare a Identità>Applicazioni>Registrazioni app e selezionare Nuova registrazione.
Immettere un nome per l'applicazione, ad esempio identity-client-web-app.
Per Tipi di account supportati selezionare Account solo in questa directory dell'organizzazione. Per informazioni sui diversi tipi di account selezionare l'opzione Suggerimenti per la scelta.
Selezionare Registra.
Al termine della registrazione viene visualizzato il riquadro Panoramica dell'applicazione. Registrare l'ID directory (tenant) e l'ID applicazione (client) da usare nel codice sorgente dell'applicazione.
Nota
I Tipi di account supportati possono essere modificati facendo riferimento a Modificare gli account supportati da un'applicazione.
Aggiungere un URI di reindirizzamento della piattaforma e creare un segreto client
Per specificare il tipo di app durante la registrazione dell'app seguire i passaggi seguenti:
- In Gestisci selezionare Autenticazione.
- Nella pagina Configurazioni della piattaforma, selezionare Aggiungere una piattaforma, quindi selezionare l'opzione Web.
- Per gli URI di reindirizzamento immettere
http://localhost:3000/auth/redirect
. - In URL di disconnessione front-channel immettere
https://localhost:5001/signout-callback-oidc
per la disconnessione. - Selezionare Configura per salvare le modifiche.
- In Gestisci selezionare Certificati e segreti>Nuovo segreto client. Scegliere una descrizione e quindi selezionare Aggiungi.
- Prendere nota del valore di Segreto client per usarlo successivamente. Questo valore viene visualizzato una sola volta.
Clonare o scaricare l'applicazione di esempio
Per ottenere l'applicazione di esempio, è possibile clonarla da GitHub o scaricarla come file .zip.
Per clonare l'esempio, aprire un prompt dei comandi, passare alla posizione in cui si vuole creare il progetto e immettere il comando seguente:
git clone https://github.com/Azure-Samples/ms-identity-node.git
Scaricare il file .zip. Estrarlo in un percorso di file in cui la lunghezza del nome è inferiore a 260 caratteri.
Configurare il progetto
Estrarre il progetto, aprire la cartella ms-identity-node-main e quindi aprire il file .env nella cartella App. Sostituire i valori precedenti 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_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 in avanti) |
Enter_the_Express_Session_Secret_Here |
Stringa casuale di caratteri usata per firmare il cookie di sessione rapida | A1b-C2d_E3f.H4... |
Il file dovrà 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
Eseguire l'applicazione ed eseguire l'accesso
Eseguire il progetto usando Node.js.
Per avviare il server, eseguire i comandi seguenti nella directory del progetto:
cd App npm install npm start
Vai a
http://localhost:3000/
.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 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 MSAL Node. Dopo il consenso dell'utente, il browser reindirizza l'utente alla home page dell'applicazione, insieme a un token 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
Passaggio successivo
Per ulteriori informazioni compilare un'app Web ASP.NET Core che esegue l’accesso degli utenti nella serie di esercitazioni in più parti seguenti: