认证和用户服务
参考文档 Auth 服务设计 将 auth 模块独立成一个服务,并对它进行重构,使其符合总体设计目标。
领域实体
- User: 用户,代表系统内所有用户,包括 B 端管理员和 C 端用户 。
- Namespace:命名空间,代表组织架构层级,这个层级也可以作为用户和其它资源的属性。
- Session: 会话,用户和系统之间建立的会话抽象,会话中包 token、权限、ACL、refreshKey 等属性。
- Role: 角色,权限的集合。
注意: Token 会存在于 Session 中,但是为了安全起见又不会存储在数据库中。 Session 一定是属于用户的,它可以被赋给设备或者服务使用。
pnpm install# development
$ pnpm start
# debug mode
$ pnpm start:debug
# production mode
$ pnpm start:prod
# build dist
$ pnpm build# unit tests
$ pnpm test
# e2e tests
$ pnpm test:e2e
# test coverage
$ pnpm test:cov根目录下有一个默认的 .env 文件是可以用于 dev 开发的,如果需要调整,在根目录下创建 .env.local,其中定义的环境变量会覆盖 .env 中定义的变量。
例如
PORT=9528生成 openapi.json
## 启动一下工程就会自动生成 openapi.json 文件
NODE_ENV=development p start生成 sdk
p gen:sdk发布 sdk
## 进入 sdk 文件夹
cd sdk
## 安装依赖
pnpm install
## 编译
pnpm build
## 发布 一个 prerelease
npm version prerelease
npm publish本系统在没有特殊说明的情况下,都是指 毫秒时间戳