✅ 开发者认证功能已实现!
🎉 完成的功能
1. API Key 认证 ✅
# 方式1: X-Developer-Key 请求头
curl -H "X-Developer-Key: mbe_your_api_key" \
http://localhost:8000/api/developer/me
# 方式2: Authorization Bearer
curl -H "Authorization: Bearer mbe_your_api_key" \
http://localhost:8000/api/developer/me
# 方式3: 兼容模式(developer_id 参数)
curl "http://localhost:8000/api/developer/demo_developer/dashboard"
2. 专家所有权检查 ✅
- 每个专家绑定到创建者
- 只有创建者和被共享者可以访问
- 支持公开专家设置
3. 数据脱敏 ✅
| 数据类型 | 处理方式 |
|---|---|
| 用户ID | 哈希 → user_a1b2c3d4 |
| 手机号 | 替换 → [手机号] |
| 邮箱 | 替换 → [邮箱] |
| 身份证 | 替换 → [身份证] |
| IP地址 | 替换 → [IP] |
4. 速率限制 ✅
| 等级 | 每日请求限制 |
|---|---|
| Free | 100 |
| Pro | 10,000 |
| Enterprise | 无限 |
5. 审计日志 ✅
记录所有敏感操作:
- 登录/访问
- 查看指标
- 查看问题
- 应用建议
- 注册专家
📋 新增 API
账户管理
# 注册新开发者(获取 API Key)
POST /api/developer/register
{
"username": "myname",
"email": "my@email.com",
"tier": "free" # free / pro / enterprise
}
# 响应
{
"success": true,
"developer": {
"id": "dev_abc123",
"api_key": "mbe_xxxxxxxx", # 只显示一次!
"tier": "free"
}
}
# 查看当前开发者信息
GET /api/developer/me
Headers: X-Developer-Key: mbe_xxxxxxxx
专家管理
# 注册专家所有权
POST /api/developer/{dev_id}/experts/{expert_id}/register
# 列出我的专家
GET /api/developer/{dev_id}/experts
审计日志
# 查看审计日志
GET /api/developer/{dev_id}/audit-log?days=7
🔐 服务等级
Free(免费)
- ✅ 最多 3 个专家
- ✅ 每日 100 次 API 调用
- ✅ 基础问题检测
- ❌ 自动应用建议
- ❌ Webhook 通知
Pro(专业)
- ✅ 最多 20 个专家
- ✅ 每日 10,000 次 API 调用
- ✅ 完整问题检测
- ✅ 自动应用建议
- ❌ Webhook 通知
Enterprise(企业)
- ✅ 无限专家
- ✅ 无限 API 调用
- ✅ 完整功能
- ✅ Webhook 通知
- ✅ 30天审计日志
🚀 快速开始
1. 注册开发者账户
curl -X POST http://localhost:8000/api/developer/register \
-H "Content-Type: application/json" \
-d '{"username": "mydev", "email": "dev@example.com", "tier": "free"}'
响应:
{
"success": true,
"developer": {
"id": "dev_a1b2c3d4",
"api_key": "mbe_xxxxxxxxxxxx",
"tier": "free"
},
"important": "请妥善保存您的 API Key,它不会再次显示!"
}
2. 使用 API Key 访问
# 查看我的信息
curl -H "X-Developer-Key: mbe_xxxxxxxxxxxx" \
http://localhost:8000/api/developer/me
# 查看仪表盘
curl -H "X-Developer-Key: mbe_xxxxxxxxxxxx" \
"http://localhost:8000/api/developer/dev_a1b2c3d4/dashboard"
# 获取专家指标
curl -H "X-Developer-Key: mbe_xxxxxxxxxxxx" \
"http://localhost:8000/api/developer/dev_a1b2c3d4/experts/dynamic_xxx/metrics"
3. 演示模式
无需注册,使用演示账户:
# 访问仪表盘
http://localhost:8000/developer/feedback?developer_id=demo_developer
# API 调用
curl "http://localhost:8000/api/developer/demo_developer/dashboard"
📁 新增文件
✅
src/feedback/developer_auth.py- 认证核心模块Developer- 开发者数据模型ExpertOwnership- 专家所有权模型DeveloperManager- 开发者管理RateLimiter- 速率限制DataAnonymizer- 数据脱敏AuditLogger- 审计日志DeveloperAuthService- 认证服务
✅
src/api/developer_feedback.py- 更新了所有端点- 集成 API Key 认证
- 添加速率限制检查
- 添加专家访问检查
- 添加数据脱敏
- 新增账户管理 API
✅
data/developers/- 开发者数据存储developers.json- 开发者列表ownerships.json- 专家所有权
✅
data/audit/- 审计日志audit_YYYY-MM-DD.jsonl- 按日期存储
🔒 安全特性
认证
- ✅ API Key 哈希验证
- ✅ 多种认证方式支持
- ✅ 账户状态检查
授权
- ✅ 专家所有权验证
- ✅ 服务等级限制
- ✅ 速率限制
隐私
- ✅ 用户数据自动脱敏
- ✅ 敏感信息过滤
- ✅ 审计日志记录
⚠️ 重要提示
- API Key 只显示一次 - 注册时请立即保存
- 演示账户是公开的 - 不要存储敏感数据
- 速率限制是每日重置 - UTC 0点重置
- 审计日志保留期限:
- Free/Pro: 3天
- Enterprise: 30天
🧪 测试
服务重启后,访问:
# Web UI(演示模式)
http://localhost:8000/developer/feedback
# API 文档
http://localhost:8000/docs
🎉 开发者认证系统已完全就绪!
- ✅ API Key 认证
- ✅ 专家所有权
- ✅ 数据脱敏
- ✅ 速率限制
- ✅ 审计日志
- ✅ 服务等级