生成 TOTP 密钥
POST /v1/security/totp/generate:为用户生成新的 TOTP 密钥,供其添加到验证器应用。
POST /v1/security/totp/generate
为用户生成新的 TOTP 密钥,供其添加到验证器应用:qrCodeUrl 是 otpauth:// 链接,qrcode 是预渲染的 PNG data URL,secret 是供手动输入的 base32 字符串。不返回备份码。它是设置 → 安全启用向导的第 2 步,也是替换现有绑定的调用:仍持有密钥的账户可以改用当前验证器重新开启。
| 方法 | POST |
| 路径 | /v1/security/totp/generate |
| 认证 | 设置 GATEWAY_AUTH_TOKEN 时需要 Authorization: Bearer <token> |
| 类别 | auth |
响应体
{ "secret": "JBSWY3DPEHPK3PXP", "qrCodeUrl": "otpauth://totp/Minara:[email protected]?secret=JBSWY3DPEHPK3PXP&issuer=Minara", "qrcode": "data:image/png;base64,..." }说明
失败时返回 { error, status, message },其中 error 是稳定的机器码。第二因子被拒会映射到一组固定值:invalid_totp、totp_required、invalid_email_code、email_code_required、verification_locked(邮箱验证码错误次数过多,message 会给出等待时长)、totp_state_conflict(账户已处于请求的状态)、totp_not_provisioned(尚未生成密钥)、rate_limited。请求体不合法时返回 400,error 按端点分别为 totp_code_required、totp_and_email_required 或 settings_payload_invalid。网关无法归类的失败保留该端点自身的 <action>_failed,并配一条通用文案;上游原文只写入服务端日志。