error( $e->isPermanent() ? 'auth.account_locked_permanently' : 'auth.account_locked', 423, [ 'locked_until' => $e->lockedUntil?->toIso8601String(), 'retry_after_seconds' => $e->remainingMinutes === null ? null : $e->remainingMinutes * 60, 'permanent' => $e->isPermanent(), ], ['minutes' => $e->remainingMinutes] ); } /** * 인증번호 발송 실패 응답(503)을 구성합니다. * * 자격 증명은 올바르므로 401 로 답하지 않는다 — 사용자는 비밀번호를 의심하며 같은 * 실패를 반복하고, 운영자는 메일 설정이 깨진 사실을 알 방법이 없다. * * @return JsonResponse 503 응답 */ protected function deliveryFailedResponse(): JsonResponse { return $this->error('auth.two_factor_delivery_failed', 503); } }