Files
sodalive-backend-spring-boot/docs/20260402_AI캐릭터본인인증국가별분기적용.md

1.6 KiB

  • chat 패키지의 AI 캐릭터 상세/채팅 본인인증 적용 지점을 확인한다.
  • 기존 캐릭터 상세의 국가별 본인인증 분기 방식을 확인한다.
  • chat 패키지의 AI 캐릭터 및 AI 캐릭터 채팅 로직에 동일한 국가별 인증 방식을 반영한다.
  • 변경 사항에 대한 진단 및 관련 검증을 수행한다.

검증 기록

1차 구현

  • 무엇을: ChatRoomController, ChatQuotaController, ChatRoomQuotaController의 본인인증 체크를 member.auth 직접 검사에서 MemberContentPreferenceService.getStoredPreference(member).isAdult 기반 국가별 판정으로 변경했다.
  • 왜: AI 캐릭터 상세와 동일하게 한국은 본인인증이 필요하고, 그 외 국가는 저장된 성인 노출 설정 기준으로 접근하도록 맞추기 위해서다.
  • 어떻게:
    • ./gradlew compileKotlin → 성공
    • ./gradlew test → 성공
    • 변경 컨트롤러 3개에서 member.auth == null 직접 검사가 제거되고 resolveIsAdultAccessible(...)로 치환된 것을 확인함

2차 수정

  • 무엇을: OriginalWorkController의 목록/상세 본인인증 체크도 동일한 국가별 판정으로 변경했다.
  • 왜: chat/original 하위에 member.auth 직접 검사 잔여 지점이 남아 있어, 최초 요청 범위인 chat 패키지 전체 기준으로 정책이 완전히 일치하지 않았기 때문이다.
  • 어떻게:
    • ./gradlew compileKotlin → 성공
    • ./gradlew test → 성공
    • src/main/kotlin/kr/co/vividnext/sodalive/chat 전체에서 member.auth == null|member?.auth != null 검색 → 결과 없음