@emulators/microsoft

中文文档
0.13.1发布于 2026/11/09Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 3192

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

中文使用文档
文档目录6 节
  1. 安装
  2. 终点
  3. 认证
  4. 刷新鼠标
  5. 种子配置
  6. 链接

@ 模拟器/微软

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

部分 模拟 ——为CI和无网络沙盒提供本地出入口替换服务.

安装

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 可用.

刷新鼠标

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 可用于客户证书.

种子配置

microsoft:
  users:
    - email: [email protected]
      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

版本与发布记录

@emulators/microsoft 共发布 19 个版本,首次发布于 2026/03/27;过去 12 个月发布了 19 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.13.1latest2026/11/094 天前
0.13.02026/10/2915 天前
0.12.32026/10/2321 天前
0.12.22026/10/1430 天前
0.12.12026/10/021 个月前
0.12.02026/09/241 个月前

关于 @emulators/microsoft 的常见问题

@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 和提交记录判断。