安全设置
本文说明 AnideaAI 账户安全能力和推荐做法,覆盖两步验证、Passkey、OAuth 绑定和 API Key 安全。
安全能力总览
AnideaAI 当前提供:
- 两步验证(2FA,验证码 + 备用码)
- Passkey(生物识别或硬件密钥)
- 敏感操作二次验证(5 分钟有效)
- 多 OAuth 登录与绑定
建议优先级:
- 先启用 2FA 或 Passkey。
- 生产账号至少启用一种强验证。
- 高权限账号建议同时启用两种方式。
一、两步验证(2FA)
开启流程
- 初始化:
POST /api/user/2fa/setup - 返回二维码和备用码
- 输入验证码启用:
POST /api/user/2fa/enable
状态与维护
- 查询状态:
GET /api/user/2fa/status - 禁用 2FA:
POST /api/user/2fa/disable - 重置备用码:
POST /api/user/2fa/backup_codes
实操建议
- 备用码离线保存,不要放聊天工具。
- 更换手机后立即检查 2FA 状态。
- 若验证码连续失败,先确认设备时间同步。
二、Passkey(无密码强验证)
登录流程
- 开始登录:
POST /api/user/passkey/login/begin - 完成登录:
POST /api/user/passkey/login/finish
绑定与状态
- 开始注册:
POST /api/user/passkey/register/begin - 完成注册:
POST /api/user/passkey/register/finish - 查询状态:
GET /api/user/passkey - 解绑 Passkey:
DELETE /api/user/passkey
验证用途(敏感操作前)
- 开始验证:
POST /api/user/passkey/verify/begin - 完成验证:
POST /api/user/passkey/verify/finish
实操建议
- 至少绑定 1 个可随身设备(手机/电脑)。
- 关键账号再备 1 个硬件密钥,防止单点丢失。
- 更换设备后立即做一次验证,确认可用。
三、敏感操作二次验证
AnideaAI 提供通用二次验证接口:
- 发起验证:
POST /api/verify - 查询状态:
GET /api/verify/status
特点:
- 验证成功后 5 分钟内有效
- 支持两种方式:
2fa或passkey
典型场景:
- 查看或导出敏感信息
- 读取渠道密钥等高风险操作
- 管理员执行关键配置变更
四、OAuth 绑定管理
已支持登录来源
- GitHub
绑定/解绑相关接口
- 邮箱绑定回调:
GET /api/oauth/email/bind - Google 解绑:
GET /api/user/unbind/google
建议:
- 仅保留常用 OAuth 入口,减少攻击面。
- 不再使用的第三方账号及时解绑。
- 高权限账号不要只依赖单一 OAuth。
五、API Key 安全建议
- 永远不要把
sk-开头密钥提交到代码仓库。 - 前端页面不要明文写 Key,统一走后端。
- 使用环境变量注入,不写死在代码里。
- 按系统拆分 Key,避免“一个 Key 全系统通用”。
- 给 Key 配置模型范围和允许 IP。
- 定期轮换,旧 Key 及时禁用。
六、疑似泄露时的应急处理
- 立即禁用可疑 Key。
- 新建替代 Key,更新业务配置。
- 回看最近日志:来源 IP、模型、时间段。
- 检查是否有异常充值/消耗。
- 对高权限账号强制重登并重做安全设置。