设置 OTP
POST
/web/v1/system/security/mfa/otp/setup JWT初始化 TOTP(基于时间的一次性密码)设置,生成新的密钥并返回二维码 URI 供用户的身份验证器应用扫描。密钥会缓存在服务端用于后续验证,且仅在此响应中返回一次。
鉴权
Auth Chain: WEB Chain — 需要
Authorization: Bearer <jwt>以下请求头由系统自动注入(前端无需处理):X-PORTAL-ACCESS-CODE(Nginx),X-Request-Id(Gateway)
请求参数
无需请求参数。
请求示例
无需请求体。
成功响应
成功 200
{
"version": "1.3.0",
"timestamp": 1709337600000,
"success": true,
"code": "2000",
"message": "SUCCESS",
"data": {
"secret": "JBSWY3DPEHPK3PXP",
"qrCodeUri": "otpauth://totp/SlaunchX:admin@example.com?secret=JBSWY3DPEHPK3PXP&issuer=SlaunchX",
"issuer": "SlaunchX",
"accountName": "admin@example.com"
}
}| 字段 | 类型 | 说明 |
|---|---|---|
secret | string | TOTP 密钥(Base32 编码),用于手动输入 |
qrCodeUri | string | otpauth:// URI,用于生成二维码供扫描 |
issuer | string | 身份验证器应用中显示的发行者名称(固定为 "SlaunchX") |
accountName | string | 身份验证器应用中显示的账户标识(用户邮箱) |
错误响应
未授权 401
{
"success": false,
"code": "4010",
"message": "Invalid or expired token"
}说明
secret和qrCodeUri仅返回一次。验证通过后,密钥将被加密存储,无法再次获取。- 频率限制:300 秒内最多 5 次请求。
- 调用此接口后,使用 验证 OTP 并输入身份验证器应用中的验证码来确认设置。
issuer固定为"SlaunchX",accountName为用户邮箱地址。