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
- Node.JS
- Visual Studio Code o un altro editor di codice
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:
- Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud.
- 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.
- 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. - Selezionare Registra per creare l'applicazione.
- In Gestisci selezionare Autenticazione.
- Selezionare Aggiungi una piattaforma>Applicazioni per dispositivi mobili e desktop.
- Nella sezione URI di reindirizzamento immettere
http://localhost
. - 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
Le dipendenze di questo esempio devono essere installate una sola volta:
cd ms-identity-javascript-nodejs-desktop-main npm install
Eseguire quindi l'applicazione tramite il prompt dei comandi o la console:
npm start
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: