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
- Una sottoscrizione di Azure. Creare gratuitamente una sottoscrizione di Azure.
- Node.JS
- Visual Studio Code o un altro editor di codice
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.
- Accedere all'interfaccia di amministrazione di Microsoft Entra come almeno un'applicazione cloud Amministrazione istrator.
- 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 Applicazioni> di identità>Registrazioni app e selezionare Nuova registrazione.
- Immettere un nome per l'applicazione. Tale nome, che potrebbe essere visualizzato dagli utenti dell'app, può essere modificato in un secondo momento.
- In Tipi di account supportati selezionare Account solo in questa directory organizzativa.
- Impostare il tipo di URI di reindirizzamento su Web e il valore su
http://localhost:3000/auth/redirect
. - Selezionare Registra.
- Nella pagina Panoramica dell'app prendere nota del valore del campo ID applicazione (client) per uso successivo.
- In Gestisci selezionare Certificati e segreti>Segreti>client Nuovo segreto client. Lasciare vuota la descrizione e mantenere invariata la scadenza predefinita, quindi selezionare Aggiungi.
- 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.
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.
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: