Поделиться через


Поставщик Electron

Поставщик Electron использует MSAL-node для входа пользователей и получения маркеров для использования с Microsoft Graph в приложении Electron.

Дополнительные сведения о поставщиках проверки подлинности см. в статье Поставщики.

Начало работы

Установка пакетов

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

Необходимо инициализировать ElectronProvider в процессе отрисовщика (внешний интерфейс) и ElectronAuthenticator в процессе main (серверная часть).

Инициализация ElectronProvider в процессе отрисовщика (renderer.ts)

ElectronProvider отвечает за обмен данными с ElectronAuthenticator (в процессе main) для запроса маркеров доступа и получения сведений о состоянии входа, необходимых для работы компонентов.

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

const baseURL: GraphEndpoint = 'https://graph.microsoft.us'; // change the base URL

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

Инициализация ElectronAuthenticator в процессе main (main.ts)

ElectronAuthenticator отвечает за настройку переменных конфигурации для проверки подлинности MSAL, получение маркеров доступа и взаимодействие с ElectronProvider. Инициализация ElectronAuthenticator в процессе main и настройка переменных конфигурации, таких как идентификатор клиента.

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 Microsoft Entra admin center
  baseURL: 'https://graph.microsoft.us' // change this if you want to use a different M365 endpoint
};

ElectronAuthenticator.initialize(config);
Атрибут Описание
clientId Строковый идентификатор клиента (см. раздел Создание идентификатора приложения или клиента). Обязательный.
scopes Строки, разделенные запятыми, для областей, на которые пользователь должен согласиться при входе. Рекомендуется.
authority Строка центра — по умолчанию используется общий центр. Для однотенантного приложения используйте идентификатор клиента или имя клиента. Например, https://login.microsoftonline.com/[your-tenant-contoso.com или https://login.microsoftonline.com/[your-tenant-id]. Необязательный.
Mainwindow Экземпляр main BrowserWindow, требующий проверки подлинности.
cachePlugin Подключаемый модуль кэша, который вы хотите использовать для постоянного хранения маркеров. См . раздел Расширения проверки подлинности Майкрософт для Node. Необязательный параметр.
базовый URL-адрес Конечная точка Microsoft Graph, используемая для вызовов Microsoft Graph. Это может быть любое из поддерживаемых национальных облачных развертываний. Значение по умолчанию — https://graph.microsoft.com.

Примечание: В настоящее время поставщик не поддерживает добавочную поддержку. Рекомендуется предоставить согласие на все области, необходимые для компонентов.

Создание идентификатора клиента/приложения

Добавление новой регистрации приложения в Microsoft Entra ID для получения идентификатора клиента

Чтобы создать приложение в Microsoft Entra ID, добавьте новую регистрацию приложения, а затем настройте имя приложения и URI перенаправления.

Чтобы создать приложение в Microsoft Entra ID:

  1. Перейдите к Центр администрирования Microsoft Entra.
  2. Разверните меню >Удостоверение, разверните пункт Приложения>выберите Регистрация приложений> нажмите кнопку Создать регистрацию.
  3. Введите имя приложения; например, My Electron-App.
  4. Для типа поддерживаемых типов учетных записей выберите Учетные записи в любом каталоге организации (любой каталог Microsoft Entra — мультитенантный) и личные учетные записи Майкрософт (например, Skype, Xbox).
  5. В поле URI перенаправления в раскрывающемся списке выберите Общедоступный клиент или собственный (мобильный & desktop) и в поле URL-адрес введите msal://redirect.
  6. Подтвердите изменения, нажав кнопку Зарегистрировать.

Дальнейшие действия