TOTP 비밀키 생성
POST /v1/security/totp/generate: 인증 앱에 추가할 새 TOTP secret을 발급합니다.
POST /v1/security/totp/generate
인증 앱에 추가할 새 TOTP secret을 발급합니다. qrCodeUrl은 otpauth:// URL, qrcode는 미리 렌더링한 PNG 데이터 URL, secret은 직접 입력용 base32 문자열입니다. 백업 코드는 없습니다. 설정 → 보안 사용 설정 마법사의 2단계이며, 기존 연결을 교체하는 호출이기도 합니다. secret이 남아 있는 계정은 현재 인증 앱으로 다시 켤 수도 있습니다.
| 메서드 | 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가 안정적인 기계 판독용 코드입니다. 2차 인증 거부는 고정된 값에 대응합니다. invalid_totp, totp_required, invalid_email_code, email_code_required, verification_locked(이메일 코드를 너무 많이 틀린 경우이며 대기 시간은 message에 담깁니다), totp_state_conflict(계정이 이미 요청한 상태), totp_not_provisioned(secret 미생성), rate_limited입니다. 요청 본문이 올바르지 않으면 400과 함께 엔드포인트별로 totp_code_required, totp_and_email_required, settings_payload_invalid 중 하나를 반환합니다. 게이트웨이가 분류할 수 없는 실패는 해당 엔드포인트의 <action>_failed를 유지하고 일반 문구를 함께 보냅니다. 업스트림 원문은 서버 로그에만 남습니다.