# @authup/core-kit 中文文档

规范地址：https://npmcn.com/package/%40authup/core-kit/

版本：1\.0\.0-beta\.73
npm 元数据更新时间：2026-11-01T20:46:46.627Z
中文译文更新时间：2026-11-07T06:15:30.682Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40authup/core-kit
原文对照：https://npmcn.com/package/%40authup/core-kit/?lang=original
项目主页：https://github.com/authup/authup#readme
源码仓库：https://github.com/authup/authup

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

- 包体积（解压后）：378 kB，299 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=26\.0\.0
- 运行依赖：6 个
- 首次发布：2024-05-08T08:30:21.470Z
- 最新版本发布：2026-11-01T20:46:46.232Z
- 近 30 天下载量：4174（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：58（近 12 个月 44 个）

## 中文简介

每个Authup实体的域类型,enums和校验符,由服务器和客户端共享.

## 安装

```sh
npm install @authup/core-kit
```

也可以使用：`pnpm add @authup/core-kit`、`yarn add @authup/core-kit`、`bun add @authup/core-kit`

## README

![Authup logo](https://raw.githubusercontent.com/authup/authup/master/.github/assets/logo.svg)

# @authup/core-kit (英语)

**每个Authup实体的域类型,enums和校验符,由服务器和客户端共享.**  
用户的外形,客户端,角色,权限和领域,以及他们的领域的规则都随之而来.

[![npm version](https://img.shields.io/npm/v/@authup/core-kit)](https://www.npmjs.com/package/@authup/core-kit) [![CI](https://github.com/authup/authup/actions/workflows/main.yml/badge.svg)](https://github.com/authup/authup/actions/workflows/main.yml) [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue)](https://npmcn.com/package/%40authup/core-kit/LICENSE)

[**安装**](https://npmcn.com/package/%40authup/core-kit/#readme-installation) • 妇女 [使用量](https://npmcn.com/package/%40authup/core-kit/#readme-usage) • 妇女 [API 密码](https://npmcn.com/package/%40authup/core-kit/#readme-api) • 妇女 [文档](https://authup.org/)

* * *

## 合适的话

`@authup/core-kit` 是Authup工作空间中每一个其它的域层所基于的: 服务器用它的验证器验证收到的有效载荷, [`@authup/core-http-kit`](https://github.com/authup/authup/tree/master/packages/core-http-kit) 将答复输入其实体,而Vue套件则使其格式与规则一致。 当您针对 Authup 写入 TypeScript 并需要实体类型或权限和范围名称时, 直接安装它, 例如输入您的 API 层或检查 `permission.name === PermissionName.USER_UPDATE` 没有字符串文字。 如果您已经使用 `@authup/core-http-kit`,它被安装在一起.

## 安装

```shell
npm install @authup/core-kit
```

仅限无害环境管理。 节点.js `>=26.0.0`,或浏览器捆绑器。 不存在同伴依赖关系.

## 使用量

### 实体类型

每个实体都是有骆驼的平凡人 大小写字段 :

```typescript
import type { Role, User } from '@authup/core-kit';

function label(user: User) : string {
    return user.displayName ?? user.name;
}

const role: Pick<Role, 'name' | 'realmId'> = { name: 'editor', realmId: null };
```

`EntityType` 每一个实体的名称(`EntityType.USER === 'user'`, (中文(简体) ), `EntityType.ROLE_PERMISSION === 'rolePermission'`),以及 `EntityTypeMap` 将每个名称映射到其类型.

### 名称和词库

```typescript
import {
    IdentityType,
    PermissionName,
    REALM_MASTER_NAME,
    ROLE_ADMIN_NAME,
    ScopeName,
} from '@authup/core-kit';

PermissionName.USER_UPDATE; // 'user_update'
ScopeName.GLOBAL; // 'global'
IdentityType.CLIENT; // 'client'
REALM_MASTER_NAME; // 'master'
ROLE_ADMIN_NAME; // 'admin'
```

`PermissionName` 列出服务器内置权限; `ScopeName` 内置范围`global`, (中文(简体) ), `openid`, (中文(简体) ), `email`, (中文(简体) ), `roles`, (中文(简体) ), `identity`) (中文(简体) ).

### 验证器

每个可写字的实体都有一个验证符,a [校验](https://github.com/tada5hi/validup) 集装箱. `run()` 返回已验证和正则数据,或丢出一个 `ValidupError` 列出问题:

```typescript
import { RoleValidator } from '@authup/core-kit';
import { ValidatorGroup } from '@authup/kit';

const validator = new RoleValidator();
const data = await validator.run(
    { name: '  Editor ', description: 'Edits content' },
    { group: ValidatorGroup.CREATE },
);
// data.name === 'editor'
```

-   小组决定安装哪些字段. `CREATE` 挂载标识符, 如 `name` 财务报告和审定财务报表 `realmId`· ; `UPDATE` 不挂载 `realmId`,所以一个领域在创建后无法改变. `ValidatorGroup` 来自 `@authup/kit`。 。 。 .
-   组不挂载的字段从输出中剥离, 而不是拒绝 .
-   名称有: `name` 在格式检查前被修剪并小写,所以混合大小写被接受并存储小写.

### 姓名检查

```typescript
import { isNameValid, isUserNameValid } from '@authup/core-kit';

isNameValid('my-app_1'); // true
isNameValid('My App'); // false
isNameValid('My App', { throwOnFailure: true }); // throws
isUserNameValid('alice');
```

`isNameValid` 接受 `[a-z0-9-_.]` 只有这个 每个实体都增加自己的变体(`isRoleNameValid`, (中文(简体) ), `isClientNameValid`, (中文(简体) ), `isRealmNameValid`,.)有自有保留的名称和长度界限.

## API 密码

枪管每个实体输出一个家庭。 每个家庭都携带实体类型,如果实体是可写字的,则有一个验证符,一个名字检查及其常数.

| 家属 | 主要出口 |
| --- | --- |
| 用户 | `User`, (中文(简体) ), `UserValidator`, (中文(简体) ), `isUserNameValid`, (中文(简体) ), `isValidUserEmail`, (中文(简体) ), `USER_PASSWORD_MIN_LENGTH`, (中文(简体) ), `USER_PASSWORD_MAX_LENGTH` |
| 用户关系 | `UserAttribute`, (中文(简体) ), `UserAttributeName`, (中文(简体) ), `UserAuthenticator`, (中文(简体) ), `UserAuthenticatorKind`, (中文(简体) ), `UserPermission`, (中文(简体) ), `UserRole` 及其验证人 |
| 客户 | `Client`, (中文(简体) ), `ClientValidator`, (中文(简体) ), `ClientSecretRotateValidator`, (中文(简体) ), `ClientAuthMethod`, (中文(简体) ), `ClientSecretMode`, (中文(简体) ), `ClientTokenBindingMethod`, (中文(简体) ), `CLIENT_SYSTEM_NAME`, (中文(简体) ), `CLIENT_ADMIN_CONSOLE_NAME`, (中文(简体) ), `CLIENT_ACCOUNT_CONSOLE_NAME`, (中文(简体) ), `CLIENT_RESERVED_NAMES`, (中文(简体) ), `isClientPublic`, (中文(简体) ), `getClientSecretMode` |
| 客户关系 | `ClientPermission`, (中文(简体) ), `ClientRole`, (中文(简体) ), `ClientScope` 及其验证人 |
| 作用 | `Role`, (中文(简体) ), `RoleValidator`, (中文(简体) ), `RoleAttribute`, (中文(简体) ), `RolePermission`, (中文(简体) ), `ROLE_ADMIN_NAME`, (中文(简体) ), `ROLE_REALM_ADMIN_NAME` |
| 权限和政策 | `Permission`, (中文(简体) ), `PermissionName`, (中文(简体) ), `PermissionValidator`, (中文(简体) ), `PermissionPolicy`, (中文(简体) ), `Policy`, (中文(简体) ), `PolicyValidator`, (中文(简体) ), `PolicyAttribute`, (中文(简体) ), `REALM_SCOPE` |
| 范围 | `Scope`, (中文(简体) ), `ScopeName`, (中文(简体) ), `ScopeValidator` |
| 现实 | `Realm`, (中文(简体) ), `RealmValidator`, (中文(简体) ), `REALM_MASTER_NAME`, (中文(简体) ), `isRealmNameValid` |
| 路径 | `Path`, (中文(简体) ), `PathValidator`, (中文(简体) ), `splitPath`, (中文(简体) ), `joinPath`, (中文(简体) ), `isPathValid`, (中文(简体) ), `PATH_MAX_DEPTH` |
| 身份提供商 | `IdentityProvider`, (中文(简体) ), `IdentityProviderProtocol`, (中文(简体) ), `IdentityProviderPreset`, (中文(简体) ), `IdentityProviderValidator`, OAuth2, OIDC 和 LDAP 属性验证器, `IdentityProviderAccount`、属性、作用和权限映射 |
| 届会和同意 | `Session`, (中文(简体) ), `SessionAuthMethod`, (中文(简体) ), `SessionToken`, (中文(简体) ), `Consent`, (中文(简体) ), `OAuth2AuthorizationCode` |
| 密钥 | `Key`, (中文(简体) ), `KeyStatus`, (中文(简体) ), `KeyValidator`, (中文(简体) ), `TrustAnchor`, (中文(简体) ), `TrustAnchorValidator` |
| 活动 | `Event`, (中文(简体) ), `EventName`, (中文(简体) ), `EventScope`, (中文(简体) ), `EventRefType`, (中文(简体) ), `EventAggregate` |
| 身份 | `Identity`, (中文(简体) ), `UserIdentity`, (中文(简体) ), `ClientIdentity`, (中文(简体) ), `IdentityType` |
| 跨实体 | `EntityType`, (中文(简体) ), `EntityTypeMap`, (中文(简体) ), `EntityDefaultEventName`, (中文(简体) ), `isNameValid`, (中文(简体) ), `buildEntityChannelName`, (中文(简体) ), `buildEntityNamespaceName` |

全文见 [页:1](https://authup.org/)。 。 。 .

## 页:1

-   **类型描述的是API形状,而不是数据库.** 字段服务器从不返回(一个密码,一个散列模式下的秘密),在类型上仍然可能显示为可选或无效.
-   **`EntityTypeMap` 不是每个 `EntityType`。 。 。 .** 少数类型(身份提供者属性和权限映射,用户验证)没有条目,因为没有平面实体API服务.

## 许可证

由 所制

现按 [Apache 2.0 许可证](https://npmcn.com/package/%40authup/core-kit/LICENSE)。 。 。 .

## 常见问题

### @authup/core-kit 是什么？

每个Authup实体的域类型,enums和校验符,由服务器和客户端共享\.

### 如何安装 @authup/core-kit？

在项目目录运行 npm install @authup/core-kit，或使用 pnpm add / yarn add / bun add。

### @authup/core-kit 支持 TypeScript 吗？

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

### @authup/core-kit 支持 ESM 还是 CommonJS？

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

### @authup/core-kit 需要什么版本的 Node\.js？

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

### @authup/core-kit 可以商用吗？

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

### @authup/core-kit 的下载量有多少？

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

### @authup/core-kit 还在维护吗？

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

