从 MSAL Node v3 迁移到 v5

注释

没有 MSAL Node v4 版本。 包版本已从 v3 直接升至 v5,以使 msal-node 的版本编号与其他 MSAL.js 库保持一致。 不存在单独的 v4 功能集。

放弃了对 Node.js 16 和 18 的支持

MSAL Node v5 不再支持 Node.js 16 或 18;必须使用 Node.js 20 或更高版本。

已删除 proxyUrlcustomAgentOptions

MSAL Node v5 不再为 HTTP 客户端提供可选配置。 proxyUrlcustomAgentOptions 参数已从 NodeSystemOptions 中移除。

// BEFORE (v3)
NodeSystemOptions = {
    loggerOptions?: LoggerOptions;
    networkClient?: INetworkModule;
    proxyUrl?: string;
    customAgentOptions?: http.AgentOptions | https.AgentOptions;
    disableInternalRetries?: boolean;
    protocolMode?: ProtocolMode;
};

// AFTER (v5)
NodeSystemOptions = {
    loggerOptions?: LoggerOptions;
    networkClient?: INetworkModule;
    disableInternalRetries?: boolean;
    protocolMode?: ProtocolMode;
};

现在,当需要代理支持时,开发人员必须编写自己的自定义 HTTP 客户端。 有关实现详细信息,请参阅 自定义 INetworkModule 示例

配置更改

protocolMode 已移至系统配置

参数 protocolMode 不再是身份验证配置选项,而是系统配置选项。

// BEFORE (v3)
const msalConfig = {
    auth: {
        clientId: "your_client_id",
        authority: "https://login.live.com",
        protocolMode: "OIDC",
    },
};

// AFTER (v5)
const msalConfig = {
    auth: {
        clientId: "your_client_id",
        authority: "https://login.live.com",
    },
    system: {
        protocolMode: "OIDC",
    },
};

其他已删除的参数

  • 已删除 skipAuthorityMetadataCache 参数。 应用程序在授权初始化期间不再使用本地元数据缓存。
  • 已删除 encodeExtraQueryParams 参数。 所有额外的查询参数都会自动编码。

fromNativeBroker 已重命名为 fromPlatformBroker

在对象中 AuthenticationResult ,字段 fromNativeBroker 已重命名为 fromPlatformBroker.