Daily iOS
보안

인앱결제 영수증 검증

웹툰 앱이 인앱결제로 유료 회차를 해금합니다. 결제 성공 후 클라이언트가 UserDefaults에 "구매 완료" 플래그를 저장해 잠금을 푸는 설계의 문제는 무엇입니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

UserDefaults 플래그는 탈옥 기기나 백업 편집으로 누구나 true로 바꿀 수 있고, 재설치나 다른 기기에서는 사라지며, 환불돼도 되돌릴 수 없으므로 해금 여부는 서버가 서명된 StoreKit Transaction을 검증해 계정별 entitlement로 보관해야 한다.

받은 질문 공유