# @ackplus/nest-auth-contracts 中文文档

规范地址：https://npmcn.com/package/%40ackplus/nest-auth-contracts/

版本：2\.18\.0
npm 元数据更新时间：2026-11-03T08:04:38.358Z
中文译文更新时间：2026-11-06T17:11:57.621Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40ackplus/nest-auth-contracts
原文对照：https://npmcn.com/package/%40ackplus/nest-auth-contracts/?lang=original

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

- 包体积（解压后）：114 kB，8 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2025-12-27T04:39:23.862Z
- 最新版本发布：2026-11-03T08:04:38.135Z
- 近 30 天下载量：2626（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：110（近 12 个月 110 个）

## 中文简介

[![npm version](https://img.shields.io/npm/v/@ackplus/nest-auth-contracts.svg)](https://www.npmjs.com/package/@ackplus/nest-auth-contracts) \[![npm downloads](https://img.shields.io/npm/dm/@ackplus/nest-auth-contracts.svg)https://www.npmjs.com/package/@a

## 安装

```sh
npm install @ackplus/nest-auth-contracts
```

也可以使用：`pnpm add @ackplus/nest-auth-contracts`、`yarn add @ackplus/nest-auth-contracts`、`bun add @ackplus/nest-auth-contracts`

## README

# @ackplus/nest-aut-合同

[![npm version](https://img.shields.io/npm/v/@ackplus/nest-auth-contracts.svg)](https://www.npmjs.com/package/@ackplus/nest-auth-contracts) [![npm downloads](https://img.shields.io/npm/dm/@ackplus/nest-auth-contracts.svg)](https://www.npmjs.com/package/@ackplus/nest-auth-contracts) [![license](https://img.shields.io/npm/l/@ackplus/nest-auth-contracts.svg)](https://www.npmjs.com/package/@ackplus/nest-auth-contracts)

共享类型脚本类型 `@ackplus/nest-auth` 生态系统. **只有类型——零运行时间代码,零捆绑成本.**

> 📚 **浏览每个类型 : [ack-solutions.github.io/nst-auth/docs/api-参考/类型](https://ack-solutions.github.io/nest-auth/docs/api-reference/types/)**

* * *

## 此软件包为何存在

后端,JS客户端,和React层都需要相同的类型——DTO,enums,域界面. 此软件包是真理的单一来源, 所以更改为服务器上的请求/响应形状会在编译时而不是运行时打破客户端 .

其消耗者为:

-   [`@ackplus/nest-auth`](https://www.npmjs.com/package/@ackplus/nest-auth) — NestJS后端模块
-   [`@ackplus/nest-auth-client`](https://www.npmjs.com/package/@ackplus/nest-auth-client) ——框架不可知JS/TS客户端
-   [`@ackplus/nest-auth-react`](https://www.npmjs.com/package/@ackplus/nest-auth-react) - 反应提供者、钩子、警卫

你通常不直接安装它——它是所有三个的过渡依赖. 当您想要在不拖动完整后端或客户端软件包的情况下, 直接安装它 .

## 安装

```bash
pnpm add @ackplus/nest-auth-contracts
```

无害环境管理和共同JS都在一揽子计划中建造了船舶。 无对等依存.

## 出口的东西

### 数字

```ts
import {
  NestAuthMFAMethodEnum,   // 'email' | 'sms' | 'totp'
  NestAuthOTPTypeEnum,     // 'passwordless_login' | 'magic_link_login' | 'password_reset' | 'email_verification' | 'phone_verification' | 'mfa'
  TenantModeEnum,          // 'isolated' | 'shared'
} from '@ackplus/nest-auth-contracts';
```

### 请求 DTO

`ILoginRequest`, (中文(简体) ), `ISignupRequest`, (中文(简体) ), `IRefreshRequest`, (中文(简体) ), `ISwitchTenantRequest`, (中文(简体) ), `IVerify2faRequest`, (中文(简体) ), `IToggleMfaRequest`, (中文(简体) ), `IVerifyTotpSetupRequest`, (中文(简体) ), `IForgotPasswordRequest`, (中文(简体) ), `IResetPasswordWithTokenRequest`, (中文(简体) ), `IChangePasswordRequest`, (中文(简体) ), `IVerifyForgotPasswordOtpRequest`, (中文(简体) ), `IVerifyEmailRequest`, (中文(简体) ), `IVerifyPhoneRequest`, (中文(简体) ), `IPasswordlessSendRequest`, (中文(简体) ), `IInitializeAdminRequest`, (中文(简体) ), `ICreateRoleInput`, (中文(简体) ), `IUpdateRoleInput`, (中文(简体) ), `IUpdatePermissionInput` .

### 反应 DTOs

`IAuthResponse`, (中文(简体) ), `ITokenPair`, (中文(简体) ), `IUserResponse`, (中文(简体) ), `ISessionUserData`, (中文(简体) ), `IMessageResponse`, (中文(简体) ), `IVerify2faResponse`, (中文(简体) ), `IMfaStatusResponse`, (中文(简体) ), `IMfaDevice`, (中文(简体) ), `ITotpSetupResponse`, (中文(简体) ), `IVerifyOtpResponse`, (中文(简体) ), `ISessionVerifyResponse` .

### 证书型工会

`ILoginCredentials = IEmailCredentials | IPhoneCredentials | ISocialCredentials | IPasswordlessOtpLoginCredentials`

### 域界面

`INestAuthUser`, (中文(简体) ), `INestAuthIdentity`, (中文(简体) ), `INestAuthSession`, (中文(简体) ), `INestAuthAccessKey`, (中文(简体) ), `INestAuthOTP`, (中文(简体) ), `INestAuthMFASecret`, (中文(简体) ), `INestAuthTrustedDevice`, (中文(简体) ), `INestAuthRole`, (中文(简体) ), `INestAuthPermission`, (中文(简体) ), `INestAuthTenant`, (中文(简体) ), `INestAuthUserAccess`

### 配置接口

`IEmailAuthConfig`, (中文(简体) ), `IPhoneAuthConfig`, (中文(简体) ), `IMfaConfig`, (中文(简体) ), `IRegistrationConfig`, (中文(简体) ), `INestAuthTenantOptions`, (中文(简体) ), `ITenantsConfig`, (中文(简体) ), `ISsoConfig`, (中文(简体) ), `IUiConfig` .

[完全类型参考](https://ack-solutions.github.io/nest-auth/docs/api-reference/types/)

## 普通进口

```ts
import {
  // Enums
  NestAuthMFAMethodEnum,
  NestAuthOTPTypeEnum,
  TenantModeEnum,

  // Request/response DTOs
  ILoginRequest,
  ISignupRequest,
  IAuthResponse,
  IMfaStatusResponse,
  ISessionUserData,

  // Domain interfaces
  INestAuthUser,
  INestAuthSession,
  INestAuthRole,
  INestAuthTenant,
} from '@ackplus/nest-auth-contracts';

async function login(req: ILoginRequest): Promise<IAuthResponse> {
  return fetch('/auth/login', { method: 'POST', body: JSON.stringify(req) }).then((r) => r.json());
}
```

## 命名公约

-   **域实体** → `INestAuth{Entity}` (例如:. `INestAuthUser`, (中文(简体) ), `INestAuthRole`(中文(简体) )
-   **数字** → `NestAuth{Name}Enum` (例如:. `NestAuthMFAMethodEnum`(中文(简体) )
-   **请求 DTO** → `I{Feature}Request`
-   **反应 DTOs** → `I{Feature}Response`
-   **配置** → `I{Feature}Config` 或者说 `I{Feature}Options`

## 配套软件包

| 软件包 | 目的 |
| --- | --- |
| [`@ackplus/nest-auth`](https://www.npmjs.com/package/@ackplus/nest-auth) | NestJS 后端模块 |
| [`@ackplus/nest-auth-client`](https://www.npmjs.com/package/@ackplus/nest-auth-client) | 框架不可知JS/TS客户端 |
| [`@ackplus/nest-auth-react`](https://www.npmjs.com/package/@ackplus/nest-auth-react) | 反应提供者、钩子、警卫 |

所有4个包都与同版本号一起放出. 把它们绑在同一个版本.

## 链接

-   📚 [文档](https://ack-solutions.github.io/nest-auth/)
-   💬 [问题跟踪器](https://github.com/ack-solutions/nest-auth/issues)
-   📦 [GitHub 仓库](https://github.com/ack-solutions/nest-auth)

## 许可证

[麻省理工学院](https://github.com/ack-solutions/nest-auth/blob/main/LICENSE)

## 常见问题

### @ackplus/nest-auth-contracts 是什么？

\[https://www\.npmjs\.com/package/@a

### 如何安装 @ackplus/nest-auth-contracts？

在项目目录运行 npm install @ackplus/nest-auth-contracts，或使用 pnpm add / yarn add / bun add。

### @ackplus/nest-auth-contracts 支持 TypeScript 吗？

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

### @ackplus/nest-auth-contracts 支持 ESM 还是 CommonJS？

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

### @ackplus/nest-auth-contracts 可以商用吗？

@ackplus/nest-auth-contracts 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @ackplus/nest-auth-contracts 的下载量有多少？

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

### @ackplus/nest-auth-contracts 还在维护吗？

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

