极简的用户认证和管理系统,支持JWT认证和TOTP双因子认证。
- Docker
- Go 1.22+
- Node.js 16+
- netcat (用于端口检测)
./start-dev.sh这将自动:
- 启动MySQL Docker容器
- 初始化数据库schema
- 启动后端API服务 (端口31337)
- 启动前端开发服务器 (端口8080)
- 前端: http://localhost:8080
- 后端API: http://localhost:31337
- MySQL: localhost:3306 (用户: root, 密码: password)
如果需要分别启动各个服务:
docker run -d --name cyberedge-mysql \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=cyberedge \
-p 3306:3306 mysql:8.0
# 导入schema
docker exec -i cyberedge-mysql mysql -uroot -ppassword cyberedge < backend/schema.sqlcd backend
go build -o cyberedge cmd/cyberedge.go
./cyberedgecd frontend
npm install
npm run servePOST /auth/login- 用户登录POST /auth/register- 用户注册GET /auth/check- 检查认证状态
GET /users- 获取所有用户GET /users/:id- 获取单个用户POST /users- 创建用户DELETE /users/:id- 删除用户
POST /auth/2fa/setup- 设置2FAPOST /auth/2fa/verify- 验证2FADELETE /auth/2fa- 禁用2FA
仅使用一个users表,包含:
- 基本信息: username, email, password_hash
- 双因子认证: is_2fa_enabled, totp_secret
- 权限: role (admin/user)
- 时间戳: created_at, updated_at
- 后端: Go + Gin + GORM + MySQL
- 前端: Vue 3 + Ant Design Vue
- 认证: JWT + TOTP
- 容器: Docker