regenerate_backup_codes

Function regenerate_backup_codes 

Source
pub async fn regenerate_backup_codes(
    auth: AuthenticatedUser,
    dto: Json<RegenerateBackupCodesDto>,
    use_cases: Data<Arc<TwoFactorUseCases>>,
) -> HttpResponse
Expand description

Regenerate backup codes (requires TOTP verification)

Generates a new set of 10 backup codes, replacing the old ones. Requires TOTP verification for security.

§Security

  • User must be authenticated
  • Requires valid 6-digit TOTP code
  • Old backup codes are invalidated
  • New codes are only shown once (user must save them)

§Request Body

{
  "totp_code": "123456"
}

§Returns

  • 200 OK: Backup codes regenerated
  • 400 Bad Request: Invalid TOTP code or 2FA not enabled
  • 401 Unauthorized: Not authenticated
  • 500 Internal Server Error: Regeneration failed

§Example Response

{
  "backup_codes": ["ABCD-EFGH", "IJKL-MNOP", ...],
  "regenerated_at": "2024-12-02T12:00:00Z"
}