# @emulators/microsoft 中文文档

规范地址：https://npmcn.com/package/%40emulators/microsoft/

版本：0\.13\.1
npm 元数据更新时间：2026-11-08T22:09:26.542Z
中文译文更新时间：2026-11-13T18:26:28.445Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40emulators/microsoft
原文对照：https://npmcn.com/package/%40emulators/microsoft/?lang=original
项目主页：https://emulate.dev/
源码仓库：https://github.com/vercel-labs/emulate

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

- 包体积（解压后）：309 kB，14 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-03-26T20:35:04.579Z
- 最新版本发布：2026-11-08T22:09:26.202Z
- 近 30 天下载量：3192（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 19 个）

## 中文简介

Microsoft Entra ID (Azure AD) v2.0 OAuth 2.0和OpenID Connect 模拟 授权代码流,PKCE,客户端证书,客户端的刷新令牌,RS256ID令牌,以及OIDC的发现.

## 安装

```sh
npm install @emulators/microsoft
```

也可以使用：`pnpm add @emulators/microsoft`、`yarn add @emulators/microsoft`、`bun add @emulators/microsoft`

## README

# @ 模拟器/微软

Microsoft Entra ID (Azure AD) v2.0 OAuth 2.0和OpenID Connect 模拟 授权代码流,PKCE,客户端证书,客户端的刷新令牌,RS256ID令牌,以及OIDC的发现.

部分 [模拟](https://github.com/vercel-labs/emulate) ——为CI和无网络沙盒提供本地出入口替换服务.

## 安装

```bash
npm install @emulators/microsoft
```

## 终点

-   `GET /.well-known/openid-configuration` - OIDC发现文件
-   `GET /:tenant/v2.0/.well-known/openid-configuration` 租户范围
-   `GET /discovery/v2.0/keys` ——JSON网络密钥集(JWKS)
-   `GET /oauth2/v2.0/authorize` ——授权终点(显示取用器)
-   `POST /oauth2/v2.0/token` ——信使交换(授权代码,刷新信使,客户资格)
-   `GET /oidc/userinfo` — OpenID 连接用户信息
-   `GET /v1.0/me` — 微软图形用户配置
-   `GET /v1.0/users/:id` – 微软图形用户用ID
-   `GET /oauth2/v2.0/logout` —结束会话/停用
-   `POST /oauth2/v2.0/revoke` - 撤销证书

## 认证

由PKCE支持的OIDC授权代码流. 还支持客户证书赠款。 当OAuth客户端配置时,刷新令牌只能被接收到的客户端和有效客户端证书所使用. 保留保存的客户端不绑定的保存记录 。 微软图形 `/v1.0/me` 可用.

## 刷新鼠标

```bash
curl -X POST http://localhost:4005/oauth2/v2.0/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "refresh_token=r_microsoft_...&\
client_id=example-client-id&\
client_secret=example-client-secret&\
grant_type=refresh_token"
```

需要更新请求 `client_id` 财务报告和审定财务报表 `client_secret` 给收到刷新令牌的客户。 符号在成功请求后旋转 . `Authorization: Basic` 可用于客户证书.

## 种子配置

```yaml
microsoft:
  users:
    - email: testuser@outlook.com
      name: Test User
  oauth_clients:
    - client_id: example-client-id
      client_secret: example-client-secret
      name: My Microsoft App
      redirect_uris:
        - http://localhost:3000/api/auth/callback/microsoft-entra-id
```

## 链接

-   [完整文档](https://emulate.dev/microsoft)
-   [GitHub 图像](https://github.com/vercel-labs/emulate)

## 常见问题

### @emulators/microsoft 是什么？

Microsoft Entra ID \(Azure AD\) v2\.0 OAuth 2\.0和OpenID Connect 模拟 授权代码流,PKCE,客户端证书,客户端的刷新令牌,RS256ID令牌,以及OIDC的发现\.

### 如何安装 @emulators/microsoft？

在项目目录运行 npm install @emulators/microsoft，或使用 pnpm add / yarn add / bun add。

### @emulators/microsoft 支持 TypeScript 吗？

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

### @emulators/microsoft 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @emulators/microsoft 可以商用吗？

@emulators/microsoft 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @emulators/microsoft 的下载量有多少？

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

### @emulators/microsoft 还在维护吗？

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

