@fonoster/identity

中文文档
0.61.0发布于 2026/11/15MITTypeScriptCommonJS构建来源已验证近 30 天下载 8157

长老会的身份证服务

中文使用文档
文档目录4 节
  1. 关于身份
  2. 关键特性
  3. 独立运行
  4. 规格

Discord GitHub Twitter Follow

这份文件是对身份模块的高级别概述,对维护者,贡献者,以及希望了解其架构和设计或对此作出贡献的开发者有帮助.

这个模块是 长老会 项目。 它本身没有做什么。 打算与其他模块相结合,以形成一个完整的解决方案。 有关该项目的更多信息,请访问 https://github.com/fononster/fononster (英语)。 。 。 .

关于身份

长老会身份模块为长老会生态系统内部的安全用户管理、认证和授权提供了基石。 其设计具有灵活性和可扩展性,以适应长老会各个项目的不同和不断变化的需要.

关键特性

该模块提供全面的身份管理功能,包括创建,阅读,更新,并删除用户和工作空间实体. 用户可以代表个人账户或服务账户. 工作空间组织用户并精简许可管理;用户可以属于多个工作空间.

  • 认证 通过JSON Web Tokens(JWTs)——用户名/密码,多功能认证(MFA),OAuth2和正文交换.
  • 授权 通过角色-基于访问控制(RBAC),具有预先定义和自定义的角色.
  • 资源所有权 键 accessKeyId (单位:千美元)US… 用户, WO… 工作空间.

独立运行

fonoster-identity (或 fonoster/identity 图像)为身份服务,没有 电话堆。 写着 identity.json (或 .jsonc编号 :.yaml),通过 --config <path>, (中文(简体) ), /opt/fonoster/identity.json 或者说 ./config/identity.json,以及 不读取环境变量。 字段位于文件的根 :

{
  "database": { "url": "postgresql://postgres:postgres@postgres:5432/fnidentity" },
  "encryptionKey": "change-me",
  "issuer": "https://id.acme.com",
  "keys": {
    "privateKeyPath": "/opt/fonoster/keys/private.pem",
    "publicKeyPath": "/opt/fonoster/keys/public.pem"
  },
  "smtp": { "host": "smtp.acme.com", "port": 587, "sender": "[email protected]", "auth": { "user": "ops", "pass": "secret" } },
  "auth": { "methods": ["password"], "signup": "invite" },
  "defaultUser": { "name": "Admin", "email": "[email protected]", "password": "changeme" }
}

npm run db:deploy -- --config <path> 应用使用同一文件的迁移. 每把钥匙在 文件/配置。 。 。 .

规格

本单元的规范规格——实体和资源所有权、非洲区域局模式、 id/access/refresh 令牌模型,令牌交换,RS256通过 GetPublicKey,与安全 实践——生活在OpenSpec,是真理的来源:

➡️ openspec/specs/identity/spec.md

这一能力的拟议变动情况如下: openspec/changes/。 。 。 .

版本与发布记录

@fonoster/identity 共发布 229 个版本,首次发布于 2024/07/23;过去 12 个月发布了 65 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.61.0latest2026/11/15今天
0.60.02026/11/151 天前
0.59.02026/11/141 天前
0.58.02026/11/141 天前
0.57.02026/11/114 天前
0.56.02026/11/114 天前

其他发布通道:next → 0.9.51。

关于 @fonoster/identity 的常见问题

@fonoster/identity 是什么?

长老会的身份证服务

如何安装 @fonoster/identity?

在项目目录运行 npm install @fonoster/identity,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 fonoster、fonoster-identity,可以用 npx fonoster 直接运行。

@fonoster/identity 支持 TypeScript 吗?

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

@fonoster/identity 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@fonoster/identity 可以商用吗?

@fonoster/identity 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fonoster/identity 的下载量有多少?

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

@fonoster/identity 还在维护吗?

最新版本 0.61.0 发布于 2026/11/15(今天);至今共发布 229 个版本,其中过去 12 个月发布了 65 个;首次发布于 2024/07/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。