Guida introduttiva: Accedere agli utenti e chiamare Microsoft Graph da un'app desktop Node.js
In questa guida introduttiva si scarica ed esegue un esempio di codice che illustra come un'applicazione desktop Electron può accedere agli utenti e acquisire i token di accesso per chiamare l'API Microsoft Graph.
Questa guida introduttiva usa Microsoft Authentication Library per Node.js (nodo MSAL) con il flusso del 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
I passaggi descritti in questo articolo possono variare leggermente in base al portale da cui si inizia.
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 desidera registrare l’applicazione nel menu Directory e sottoscrizioni.
- Passare a Applicazioni> di identità>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 .authConfig.js file. Sostituire il valore come segue:
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_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) |
Il file dovrebbe 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
È necessario installare le dipendenze di questo esempio una 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.
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 all'applicazione.
Ulteriori informazioni
Funzionamento dell'esempio
Quando un utente seleziona il pulsante Accedi per la prima volta, acquireTokenInteractive
viene chiamato il metodo del nodo MSAL. Questo metodo reindirizza l'utente all'accesso con l'endpoint di Microsoft Identity Platform, ottiene un codice di autorizzazione e quindi lo scambia per un token di accesso.
MSAL Node
Il nodo MSAL è la libreria usata per accedere agli utenti e richiedere 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 app desktop Electron con MSAL Node, vedere l'esercitazione: