Inicio rápido: Adquisición de un token de acceso y llamada a Microsoft Graph API desde una aplicación de escritorio de Electron
¡Bienvenido! Probablemente esta no sea la página que esperaba. Mientras trabajamos en una corrección, este vínculo debería llevarle al artículo correcto:
Lamentamos las molestias y agradecemos su paciencia mientras trabajamos para resolverlo.
En este inicio rápido descargará y ejecutará un código de ejemplo que muestra cómo una aplicación de escritorio de Electron puede realizar el inicio de sesión de usuarios y adquirir tokens de acceso para llamar a Microsoft Graph API.
En este inicio rápido se usa la biblioteca de autenticación de Microsoft para Node.js (MSAL Node) con el flujo del código de autorización con PKCE.
Prerrequisitos
- Node.js
- Visual Studio Code u otro editor de código
Paso 1: Configuración de la aplicación en Azure Portal
Para que el código de ejemplo de este inicio rápido funcione, es preciso agregar una dirección URL de respuesta como msal://redirect.
La aplicación está configurada con estos atributos.
Paso 2: Descarga del proyecto de ejemplo Electron
Nota:
Enter_the_Supported_Account_Info_Here
Paso 4: Ejecución de la aplicación
Deberá instalar las dependencias de este ejemplo una vez:
npm install
A continuación, ejecute la aplicación a través del símbolo del sistema o la consola:
npm start
Debería ver la interfaz de usuario de la aplicación con el botón Inicio de sesión.
Sobre el código
A continuación, se describen algunos de los aspectos importantes de la aplicación de ejemplo.
MSAL Node
MSAL Node es la biblioteca que se usa para iniciar la sesión de los usuarios y solicitar los tokens que se usan para acceder a una API protegida por la plataforma de identidad de Microsoft. Para más información sobre cómo usar MSAL Node con aplicaciones de escritorio, consulte este artículo.
Para instalar MSAL Node, ejecute el siguiente comando npm.
npm install @azure/msal-node --save
Inicialización de MSAL
La referencia de MSAL se puede agregar mediante la incorporación del código siguiente:
const { PublicClientApplication } = require('@azure/msal-node');
A continuación, realice la inicialización de MSAL con el siguiente código:
const MSAL_CONFIG = {
auth: {
clientId: "Enter_the_Application_Id_Here",
authority: "https://login.microsoftonline.com/Enter_the_Tenant_Id_Here",
},
};
const pca = new PublicClientApplication(MSAL_CONFIG);
Donde: Descripción clientId
Es el Identificador de aplicación (cliente) de la aplicación registrada en Azure Portal. Puede encontrar este valor en la página Información general de la aplicación en Azure Portal. authority
El punto de conexión STS para el usuario que se autenticará. Normalmente https://login.microsoftonline.com/{tenant}
en la nube pública, donde {tenant} es el nombre o el identificador del inquilino.
Solicitud de tokens
Puede usar la API pública acquireTokenInteractive de Node de MSAL para adquirir tokens a través de un agente de usuario externo, como el explorador del sistema predeterminado.
const { shell } = require('electron');
try {
const openBrowser = async (url) => {
await shell.openExternal(url);
};
const authResponse = await pca.acquireTokenInteractive({
scopes: ["User.Read"],
openBrowser,
successTemplate: '<h1>Successfully signed in!</h1> <p>You can close this window now.</p>',
failureTemplate: '<h1>Oops! Something went wrong</h1> <p>Check the console for more information.</p>',
});
return authResponse;
} catch (error) {
throw error;
}
Pasos siguientes
Para más información sobre el desarrollo de aplicaciones de escritorio de Electron con MSAL Node, consulte el tutorial: