# @azure/msal-node 中文文档

规范地址：https://npmcn.com/package/%40azure/msal-node/

版本：7\.2\.1
npm 元数据更新时间：2026-11-06T23:51:49.209Z
中文译文更新时间：2026-11-07T13:03:52.122Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40azure/msal-node
原文对照：https://npmcn.com/package/%40azure/msal-node/?lang=original
项目主页：https://github.com/AzureAD/microsoft-authentication-library-for-js#readme
源码仓库：https://github.com/AzureAD/microsoft-authentication-library-for-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.6 MB，343 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：2 个
- 首次发布：2020-07-07T02:44:04.474Z
- 最新版本发布：2026-11-06T23:51:49.046Z
- 近 30 天下载量：100246166（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：188（近 12 个月 46 个）

## 中文简介

微软节点认证库

## 安装

```sh
npm install @azure/msal-node
```

也可以使用：`pnpm add @azure/msal-node`、`yarn add @azure/msal-node`、`bun add @azure/msal-node`

## README

# 微软节点认证库( msal- node)

[![npm version](https://img.shields.io/npm/v/@azure/msal-node.svg?style=flat)](https://www.npmjs.com/package/@azure/msal-node/) [![npm version](https://img.shields.io/npm/dm/@azure/msal-node.svg)](https://nodei.co/npm/@azure/msal-node/) [![codecov](https://codecov.io/gh/AzureAD/microsoft-authentication-library-for-js/branch/dev/graph/badge.svg?flag=msal-node)](https://codecov.io/gh/AzureAD/microsoft-authentication-library-for-js)

| [开始](https://docs.microsoft.com/azure/active-directory/develop/guidedsetups/active-directory-javascriptspa) | [AAD 文档](https://aka.ms/aaddevv2) | [图书馆参考文献](https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_node.html) |
| --- | --- | --- |

1.  [关于](https://npmcn.com/package/%40azure/msal-node/#readme-about)
2.  [财务问题](https://npmcn.com/package/%40azure/msal-node/#readme-faq)
3.  [更改日志](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-node/CHANGELOG.md)
4.  [先决条件](https://npmcn.com/package/%40azure/msal-node/#readme-prerequisites)
5.  [安装](https://npmcn.com/package/%40azure/msal-node/#readme-installation)
6.  [节点版本支持](https://npmcn.com/package/%40azure/msal-node/#readme-node-version-support)
7.  [使用量](https://npmcn.com/package/%40azure/msal-node/#readme-usage)
8.  [样本](https://npmcn.com/package/%40azure/msal-node/#readme-samples)
9.  [构建库](https://npmcn.com/package/%40azure/msal-node/#readme-build-and-test)
10.  [安全报告](https://npmcn.com/package/%40azure/msal-node/#readme-security-reporting)
11.  [许可证](https://npmcn.com/package/%40azure/msal-node/#readme-license)
12.  [行为守则](https://npmcn.com/package/%40azure/msal-node/#readme-we-value-and-adhere-to-the-microsoft-open-source-code-of-conduct)

## 关于

马里 节点允许应用程序使用 [阿苏雷AD](https://docs.microsoft.com/azure/active-directory/develop/v2-overview) 工作账户和学校账户(AAD),微软个人账户(MSA)以及Facebook,Google,LinkedIn,微软账户等社会身份供应商通过 [Azure AD B2C (英语)](https://docs.microsoft.com/azure/active-directory-b2c/active-directory-b2c-overview#identity-providers) 服务。 也能让您的应用程序获得访问的符号 [微软云](https://www.microsoft.com/enterprise) 诸如: [微软图形](https://graph.microsoft.io/)。 。 。 .

### 支持OAuth2.0赠款类型:

当前版本支持以下获取令牌的方式:

#### 公共客户端 :

-   [授权代码](https://oauth.net/2/grant-types/authorization-code/) 与 [捷克](https://oauth.net/2/pkce/)
-   [设备代码授权](https://oauth.net/2/grant-types/device-code/)
-   [刷新托肯赠款](https://oauth.net/2/grant-types/refresh-token/)
-   [静流](https://docs.microsoft.com/azure/active-directory/develop/msal-acquire-cache-tokens#acquiring-tokens-silently-from-the-cache)
-   [用户名和密码流](https://docs.microsoft.com/azure/active-directory/develop/msal-authentication-flows#usernamepassword)

#### 机密客户端 :

-   [授权代码](https://oauth.net/2/grant-types/authorization-code/) 有客户证书
-   [刷新托肯赠款](https://oauth.net/2/grant-types/refresh-token/)
-   [静流](https://docs.microsoft.com/azure/active-directory/develop/msal-acquire-cache-tokens#acquiring-tokens-silently-from-the-cache)
-   [客户证书补助金](https://oauth.net/2/grant-types/client-credentials/)
-   [半径](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow)
-   [用户名和密码流](https://docs.microsoft.com/azure/active-directory/develop/msal-authentication-flows#usernamepassword)

注意用户名和密码流被贬值,在未来发行时将删除支持.

关于微软认证库一般支持的不同赠款类型的更详细信息可找到 [这里](https://docs.microsoft.com/azure/active-directory/develop/msal-authentication-flows)。 。 。 .

### 支持的情景:

该图书馆支持的情景是:

-   调用网络 API 的桌面应用程序
-   调用网络 API 的 Web app
-   调用网络 API 的 Web API
-   守护进程应用程序

可找到更多关于各种情景和映射到每个情景的认证流程的细节 [这里](https://docs.microsoft.com/azure/active-directory/develop/authentication-flows-app-scenarios)。 。 。 .

## 财务问题

见 [这里](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-node/docs/faq.md)。 。 。 .

## 先决条件

使用前 `@azure/msal-node` 您需要将您的应用程序注册到 azure 门户网站 :

-   [应用程序注册](https://docs.microsoft.com/graph/auth-register-app-v2)

## 安装

### 通过国家预防机制:

```javascript
npm install @azure/msal-node
```

## 节点版本支持

马里 节点会跟着 [节点.js项目的长期支持时间表](https://nodejs.org/about/releases/)我们的支助计划如下.

任何主要生活津贴 节点释放 :

-   将支持稳定( 偶数) 维护 LTS, 活动 LTS, 以及当前版本的节点
-   将放弃对先前支持的已到寿命结束的节点版本的支持
-   在预发/审查/待发版本稳定之前不支持

| 马里 节点版本 | MSAL 支持状态 | 支持的节点版本 |
| --- | --- | --- |
| 4.x.x (中文(简体) ) | 积极发展 | 第20、22、24条 |
| 3.x.x (中文(简体) ) | 积极发展 | 第十六条、第十八条、第二十条、第二十二条、第二十四条 |
| 2.x.x (中文(简体) ) | 维修 | 第十六条、第十八条、第二十条、第二十二条 |
| 1.x.x (中文(简体) ) | 维修 | 第10、12、14、16、18条 |

**说明:** MSAL节点v2发布时没有功能变化.

## 使用量

### MSAL 基本知识

-   [了解公共客户端和保密客户端之间的差异](https://docs.microsoft.com/azure/active-directory/develop/msal-client-applications)
-   [初始化公共客户端应用程序](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-node/docs/initialize-public-client-application.md)
-   [初始化机密客户端应用程序](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-node/docs/initialize-confidential-client-application.md)
-   [配置](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-node/docs/configuration.md)
-   [请求](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/docs/request.md)
-   [回应](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/docs/Response.md)
-   [MCP 流量](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/msal-v5/lib/msal-node/docs/mcp.md)

## 样本

有多个 [样本](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples) 包含在使用 MSAL 节点获取令牌的存储器中。 这些样品目前用于人工测试,并不是为了作为最佳做法的参考,因此使用判断力,不会盲目地将这个代码复制到任何生产应用中去.

AAD 样本 :

-   [认证码](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/auth-code): 使用OAuth2.0授权码流的快取应用.
-   [认证码- pkce](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/auth-code-pkce): 使用OAuth2.0授权代码与PKCE相通的快取应用.
-   [设备代码](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/device-code):使用OAuth 2.0设备代码流的命令行应用.
-   [刷新脚本](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/refresh-token): 使用OAuth 2.0刷新流的命令行应用.
-   [静音流](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/silent-flow):使用OAuth2.0授权代码的快活应用流来获取一个活字并存储在活字缓存中,而静活流则在活字缓存中使用活字.
-   [客户证书](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/client-credentials):deaemon app 使用 OAuth 2.0 客户端的证书授权获取一个令牌.
-   [半个](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/on-behalf-of):Web应用程序使用OAuth 2.0 auth代码流来获取一个Web API的令牌. 网页 API 验证了符号,并代表在网页应用程序中认证的用户调用Microsoft Graph.
-   [用户名密码字](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/username-password):Web应用程序使用OAuth 2.0资源所有者密码证书(ROPC)流来获取一个Web API的令牌.
-   [电子测试App](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/ElectronTestApp): Electron桌面应用程序使用带有PKCE流的OAuth 2.0 auth代码来为微软Graph等网络API获取一个令牌.
-   [mcp 流量](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/msal-v5/samples/msal-node-samples/mcp-flows):使用OAuth 2.0授权码与MCP资源隔离的快取应用. 见 [MCP 磁共振 流程文件](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/msal-v5/lib/msal-node/docs/mcp.md)。 。 。 .
-   [混合 Spa 样本](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-browser-samples/HybridSample): 演示如何使用样本 `enableSpaAuthorizationCode` 用于使用 MSAL 浏览器和 MSAL 节点对服务器端和客户端端认证进行杠杆化的应用程序执行 SSO.

B2C样本:

-   [b2c用户流量](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/b2c-user-flows): 使用OAuth2.0授权码流的快取应用.

其他国家:

-   [分节点延伸](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/extensions/samples/msal-node-extensions): 使用授权代码流来获取令牌和 [缩略语](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/extensions/) 库,将 MSAL 内嵌符号缓存写入磁盘.

## 构建和测试

```javascript
// Install dependencies from root of repo
npm install

// Change to the msal-node package directory
cd lib/msal-node

// To run build for common package & node package
npm run build:all

// To run build only for node package
npm run build

// To run tests
npm run test
```

### 地方发展

以下是您可能发现有用的命令列表 :

#### `npm run build:modules:watch`

以开发/监视模式运行项目。 你的项目会在改变后重建 TSDX有一个特殊的记录器 方便你。 错误消息是相当印刷的,并且为兼容 VS 代码的问题标签格式化 。 如果您做了编辑, 库将被重建 .

#### `npm run build`

将软件包装入 `dist` 文件夹. 软件包被优化并被捆绑为多格式(CommonJS,UMD,和ES模块).

#### `npm run build:all`

构建两者 `msal-common` 财务报告和审定财务报表 `msal-node`

#### `npm run lint`

使用 Pretier 运行 Eslint

#### `npm test`, (中文(简体) ), `npm run test:coverage`, (中文(简体) ), `npm run test:watch`

以交互模式运行测试监视器(Jest). 默认情况下, 运行自上次承诺以来更改的文件相关测试 . 通过添加旗-封面来生成代码覆盖. 不需要额外的设置。 Jest可以收集整个项目的代码覆盖信息,包括未经测试的文件.

## 安全报告

如果你发现我们的图书馆或服务有安全问题,请报告 [安全性@ microsoft.com](mailto:secure@microsoft.com) 尽可能详细。 您的呈文可能有资格通过 [微软慷慨](http://aka.ms/bugbounty) 程序。 请不要将安全问题张贴到 GitHub 问题或任何其他公共网站。 我们收到消息后马上联系你 我们鼓励您通过访问了解安全事件何时发生 [此页面](https://technet.microsoft.com/security/dd252948) 并签署安全咨询警报.

## 许可证

版权 (c) 微软公司。 版权所有。 根据麻省理工学院的许可.

## 我们重视并遵守微软开放源码行为守则

该项目通过了 [Microsoft 开源行为守则](https://opensource.microsoft.com/codeofconduct/)。更多信息见 [《行为守则》](https://opensource.microsoft.com/codeofconduct/faq/) 或联系人 [打开码@ microsoft.com](mailto:opencode@microsoft.com) 并附上任何其他问题或评论.

## 常见问题

### @azure/msal-node 是什么？

微软节点认证库

### 如何安装 @azure/msal-node？

在项目目录运行 npm install @azure/msal-node，或使用 pnpm add / yarn add / bun add。

### @azure/msal-node 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @azure/msal-node 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @azure/msal-node 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @azure/msal-node 可以商用吗？

@azure/msal-node 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @azure/msal-node 的下载量有多少？

根据 npm 官方下载统计，@azure/msal-node 在 2026/10/08 – 2026/11/06 这 30 天内被下载 100,246,166 次，日均约 3,341,539 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @azure/msal-node 还在维护吗？

最新版本 7\.2\.1 发布于 2026/11/07（今天）；至今共发布 188 个版本，其中过去 12 个月发布了 46 个；首次发布于 2020/07/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

