{
  "issueId": "4104",
  "environment": "dev",
  "scenario": "duplicate-login-second-factor",
  "source": "Redmine #4104 + user-provided QA checklist 2026-09-08",
  "sourceText": "주홍석님의 QA 요청입니다. SMS/Email 2차 인증 계정에서 중복 로그인 시 PIN과 동일하게 강제로그인 확인 모달이 표시되어야 한다. jjm_email, jjm_sms, jjm_pin 각 계정은 일반 브라우저와 독립 브라우저에서 2차 인증까지 완료한 뒤 강제로그인 처리와 기존 세션 종료를 확인한다.",
  "scope": "개발계 어드민 로그인에서 Email/SMS/PIN 2차 인증 방식별 정상 로그인, 중복 로그인 2차 인증 후 강제로그인 확인 모달, 강제로그인 성공, 기존 세션 무효화와 기존 화면 유지 동작을 검증한다.",
  "checklist": [
    "jjm_email: Email 2차 인증으로 일반/중복 로그인을 완료하고 강제로그인 후 현재 세션 활성화와 기존 세션 종료를 확인",
    "jjm_sms: SMS 2차 인증으로 일반/중복 로그인을 완료하고 강제로그인 후 현재 세션 활성화와 기존 세션 종료를 확인",
    "jjm_pin: PIN 2차 인증으로 일반/중복 로그인을 완료하고 강제로그인 후 현재 세션 활성화와 기존 세션 종료를 확인",
    "Email/SMS 강제로그인 확인 모달의 화면 및 문구가 기존 PIN 모달과 동일한지 확인"
  ],
  "roles": ["ADMIN"],
  "subjectAccounts": [
    { "role": "ADMIN", "label": "이메일 2차 인증 테스트 계정", "envRole": "QA4104_EMAIL" },
    { "role": "ADMIN", "label": "SMS 2차 인증 테스트 계정", "envRole": "QA4104_SMS" },
    { "role": "ADMIN", "label": "PIN 2차 인증 비교 계정", "envRole": "QA4104_PIN" }
  ],
  "setupSteps": [
    {
      "name": "2차 인증 테스트 계정 방식 확인",
      "kind": "state-verify",
      "role": "ADMIN",
      "description": "jjm_email, jjm_sms, jjm_pin 계정의 로그인 화면에서 2차 인증 방식이 각각 EMAIL, SMS, PIN으로 설정되어 있는지 확인한다.",
      "required": true,
      "mutation": "none"
    },
    {
      "name": "이메일 및 SMS 인증번호 준비",
      "kind": "manual-precondition",
      "role": "ADMIN",
      "description": "Email/SMS 계정의 일반 로그인과 중복 로그인마다 외부 채널로 수신한 현재 6자리 인증번호를 권한 제한 임시 파일로 주입한다. 인증번호는 사용 직후 삭제하며 보고서와 저장소에는 기록하지 않는다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "개발계 어드민 로그인 및 2차 인증/강제로그인 모달",
      "application": "admin",
      "path": "/auth/login",
      "roles": ["ADMIN"],
      "authRequired": false,
      "tenantParam": "tenantId"
    }
  ]
}
