Inicio rápido: Inicio de sesión de usuarios y llamada a Microsoft Graph desde una aplicación de escritorio Node.js
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
Registro y descarga de la aplicación de ejemplo
Para comenzar, siga estos pasos.
Paso 1: Registro de la aplicación
Sugerencia
Los pasos de este artículo pueden variar ligeramente en función del portal desde donde comienza.
Para registrar la aplicación y agregar la información de registro de la aplicación a la solución de forma manual, siga estos pasos:
- Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
- Si tiene acceso a varios inquilinos, use el icono Configuración del menú superior para cambiar al inquilino en el que desea registrar la aplicación desde el menú Directorios y suscripciones.
- Vaya a Identidad>Aplicaciones>Registros de aplicaciones y seleccione Nuevo registro.
- Escriba el Nombre de la aplicación, por ejemplo
msal-node-desktop
. Los usuarios de la aplicación pueden ver este nombre, el cual se puede cambiar más tarde. - Seleccione Registrar para crear la aplicación.
- En Administrar, seleccione Autenticación.
- Selecciones Agregar una plataforma>Aplicaciones móviles y de escritorio.
- En la sección URI de redirección, escriba
http://localhost
. - Seleccione Configurar.
Paso 2: Descarga del proyecto de ejemplo Electron
Descargar el código de ejemplo
Paso 3: Configuración del proyecto de ejemplo Electron
*Extraiga el proyecto, abra la carpeta ms-identity-JavaScript-nodejs-desktop-main y abra el archivo .authConfig.js. Reemplace el valor de la siguiente manera:
Variable | Descripción | Por ejemplo |
---|---|---|
Enter_the_Cloud_Instance_Id_Here |
Instancia en la nube de Azure en la que se registra la aplicación | https://login.microsoftonline.com/ (incluya la barra diagonal final) |
Enter_the_Tenant_Id_Here |
Id. de inquilino o dominio principal | contoso.microsoft.com o aaaabbbb-0000-cccc-1111-dddd2222eeee |
Enter_the_Application_Id_Here |
Id. de cliente de la aplicación que ha registrado | 00001111-aaaa-2222-bbbb-3333cccc4444 |
Enter_the_Redirect_Uri_Here |
URI de redirección de la aplicación que ha registrado | msal00001111-aaaa-2222-bbbb-3333cccc4444://auth |
Enter_the_Graph_Endpoint_Here |
Instancia de nube de Microsoft Graph API a la que llama la aplicación | https://graph.microsoft.com/ (incluya la barra diagonal final) |
El archivo debe ser similar al siguiente:
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,
};
Paso 4: Ejecución de la aplicación
Deberá instalar las dependencias de este ejemplo una vez:
cd ms-identity-javascript-nodejs-desktop-main npm install
A continuación, ejecute la aplicación a través del símbolo del sistema o la consola:
npm start
Seleccione Iniciar sesión para comenzar el proceso de inicio de sesión.
La primera vez que inicie sesión, se le pedirá que dé su consentimiento para permitir que la aplicación inicie sesión y acceda a su perfil. Una vez que haya iniciado sesión correctamente, se le redirigirá a la aplicación.
Más información
Funcionamiento del ejemplo
Cuando un usuario selecciona el botón Iniciar sesión por primera vez, se llama al método acquireTokenInteractive
de Nodo de MSAL. Este método redirige al usuario para que inicie sesión con el punto de conexión de Plataforma de identidad de Microsoft, obtiene un código de autorización y, a continuación, lo intercambia por un token de acceso.
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
Pasos siguientes
Para más información sobre el desarrollo de aplicaciones de escritorio de Electron con MSAL Node, consulte el tutorial: