电子提供程序

Electron 提供程序使用 MSAL 节点 来登录用户,并获取用于 Electron 应用程序中的 Microsoft Graph 的令牌。

若要详细了解身份验证提供程序,请参阅 提供程序

入门

安装包

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

需要在呈现器进程中初始化 ElectronProvider (前端) ,在main进程中初始化 ElectronAuthenticator (后端) 。

在呈现器进程中初始化 ElectronProvider (renderer.ts)

ElectronProvider 负责在main过程中与 ElectronAuthenticator (通信,) 请求访问令牌并接收有关组件工作所需的登录状态的信息。

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);

在main进程中初始化 ElectronAuthenticator (main.ts)

ElectronAuthenticator 负责设置 MSAL 身份验证的配置变量、获取访问令牌并与 ElectronProvider 通信。 在 main 进程中初始化 ElectronAuthenticator 并设置客户端 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 Microsoft Entra admin center
  baseURL: 'https://graph.microsoft.us' // change this if you want to use a different M365 endpoint
};

ElectronAuthenticator.initialize(config);
属性 说明
clientId 字符串客户端 ID (请参阅创建应用/客户端 ID) 。 必填。
scopes 用户登录时必须同意的范围的逗号分隔字符串。 推荐。
权威 颁发机构字符串 - 默认为公共颁发机构。 对于单租户应用,请使用租户 ID 或租户名称。 例如,https://login.microsoftonline.com/[your-tenant-contoso.comhttps://login.microsoftonline.com/[your-tenant-id]。 可选。
mainWindow 需要身份验证的 main BrowserWindow 的实例。
cachePlugin 要用于持久存储令牌的缓存插件。 请参阅 Node 的 Microsoft 身份验证扩展。 可选。
base-url 用于 Microsoft Graph 调用的 Microsoft Graph 终结点。 它可以是任何受支持的 国家/地区云部署。 默认值为 https://graph.microsoft.com

注意: 目前,提供程序不支持增量支持。 最佳做法是,请务必同意组件所需的所有范围。

创建应用/客户端 ID

在 Microsoft Entra ID 中添加新的应用程序注册以获取客户端 ID

若要在 Microsoft Entra ID 中创建应用程序,请添加新的应用程序注册,然后配置应用名称和重定向 URI。

若要在 Microsoft Entra ID 中创建应用,请执行以下操作:

  1. 转到Microsoft Entra 管理中心
  2. 展开“标识”菜单>,展开“应用程序>”选择应用注册>选择“新建注册”按钮。
  3. 输入应用的名称;例如 。 My Electron-App
  4. 对于支持的帐户类型,请选择“任何组织目录中的帐户 (任何Microsoft Entra目录 - 多租户) 和个人 Microsoft 帐户 (,例如 Skype、Xbox)
  5. “重定向 URI” 字段的下拉列表中,选择“ 公共客户端/本机 (移动 & 桌面) ”,然后在“URL”字段中输入 msal://redirect
  6. 通过选择“ 注册 ”按钮确认更改。

后续步骤