Proveedor de Electron

El proveedor de electrones usa msal-node para iniciar sesión en usuarios y adquirir tokens para usarlos con Microsoft Graph una aplicación Electron.

Para obtener más información sobre los proveedores de autenticación, vea proveedores.

Comenzar

Instalar los paquetes

npm install @microsoft/mgt-element @microsoft/mgt-electron-provider

Debe inicializar ElectronProvider en el proceso de representador (front-end) y ElectronAuthenticator en el proceso principal (back-end).

Inicialización de ElectronProvider en el proceso de representador (renderer.ts)

ElectronProvider es responsable de comunicarse con ElectronAuthenticator (en el proceso principal) para solicitar tokens de acceso y recibir información sobre el estado de la sesión necesaria para que los componentes funcionen.

import {Providers} from '@microsoft/mgt-element';
import {ElectronProvider} from '@microsoft/mgt-electron-provider/dist/Provider';
import '@microsoft/mgt-components';

// initialize the auth provider globally
Providers.globalProvider = new ElectronProvider();

Inicializar ElectronAuthenticator en el proceso principal (main.ts)

ElectronAuthenticator es responsable de configurar las variables de configuración para la autenticación MSAL, adquirir tokens de acceso y comunicarse con ElectronProvider. Inicializa el ElectronAuthenticator en el proceso principal y configura las variables de configuración, como client-id.

import { ElectronAuthenticator, MsalElectronConfig } from '@microsoft/mgt-electron-provider/dist/Authenticator'; 

let config: MsalElectronConfig = {
  clientId: '<your_client_id>',
  authority: '<your_authority_url>', //optional
  mainWindow: mainWindow, 
  scopes: ['user.read'] //We recommend pre-consenting all the required scopes on the Azure portal
};

ElectronAuthenticator.initialize(config);
Atributo Descripción
clientId Identificador de cliente de cadena (vea Crear un identificador de aplicación o cliente). Necesario.
ámbitos Cadenas separadas por comas para ámbitos que el usuario debe dar su consentimiento al iniciar sesión. Recomendado.
autoridad Cadena de autoridad: el valor predeterminado es la autoridad común. Para las aplicaciones de un solo inquilino, usa el identificador de inquilino o el nombre del inquilino. Por ejemplo, https://login.microsoftonline.com/[your-tenant-name].onmicrosoft.com o https://login.microsoftonline.com/[your-tenant-id] . Opcional.
mainWindow Instancia de la clase BrowserWindow principal que requiere autenticación.
cachePlugin Complemento de caché que quieres usar para el almacenamiento persistente de tokens. Consulte Extensiones de autenticación de Microsoft para Node. Opcional.

Nota: Actualmente, el proveedor no admite compatibilidad incremental. Como práctica recomendada, asegúrese de dar su consentimiento a todos los ámbitos que requieren los componentes.

Crear un identificador de aplicación o cliente

Agregar nuevo registro de aplicación en Azure Active Directory para obtener un identificador de cliente

Para crear una aplicación en Azure Active Directory, agregue un nuevo registro de aplicación y, a continuación, configure un uri de redireccionamiento y un nombre de aplicación.

Para crear la aplicación en Azure Active Directory:

  1. Vaya a Azure Portal.
  2. En el menú, seleccione Azure Active Directory.
  3. En el Azure Active Directory, seleccione Registros de aplicaciones.
  4. En el menú superior, seleccione el botón Nuevo registro.
  5. Escribe el nombre de la aplicación; por ejemplo, My Electron-App .
  6. Para el tipo de cuentas admitidas, seleccione Cuentas en cualquier directorio de la organización (cualquier directorio de Azure AD - Multitenant) y cuentas personales de Microsoft (por ejemplo, Skype, Xbox).
  7. En el campo URI de redireccionamiento, en la lista desplegable, seleccione Cliente público/nativo (escritorio & móvil) y, en el campo Dirección URL, escriba msal://redirect .
  8. Para confirmar los cambios, seleccione el botón Registrar.

Pasos siguientes