@authup/core-kit (英语)
每个Authup实体的域类型,enums和校验符,由服务器和客户端共享.
用户的外形,客户端,角色,权限和领域,以及他们的领域的规则都随之而来.
安装 • 妇女 使用量 • 妇女 API 密码 • 妇女 文档
合适的话
@authup/core-kit 是Authup工作空间中每一个其它的域层所基于的: 服务器用它的验证器验证收到的有效载荷, @authup/core-http-kit 将答复输入其实体,而Vue套件则使其格式与规则一致。 当您针对 Authup 写入 TypeScript 并需要实体类型或权限和范围名称时, 直接安装它, 例如输入您的 API 层或检查 permission.name === PermissionName.USER_UPDATE 没有字符串文字。 如果您已经使用 @authup/core-http-kit,它被安装在一起.
安装
npm install @authup/core-kit
仅限无害环境管理。 节点.js >=26.0.0,或浏览器捆绑器。 不存在同伴依赖关系.
使用量
实体类型
每个实体都是有骆驼的平凡人 大小写字段 :
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 将每个名称映射到其类型.
名称和词库
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 校验 集装箱. run() 返回已验证和正则数据,或丢出一个 ValidupError 列出问题:
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在格式检查前被修剪并小写,所以混合大小写被接受并存储小写.
姓名检查
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。 。 。 .
页:1
- 类型描述的是API形状,而不是数据库. 字段服务器从不返回(一个密码,一个散列模式下的秘密),在类型上仍然可能显示为可选或无效.
EntityTypeMap不是每个EntityType。 。 。 . 少数类型(身份提供者属性和权限映射,用户验证)没有条目,因为没有平面实体API服务.
许可证
由 所制
现按 Apache 2.0 许可证。 。 。 .