출시 전 테스트(intoss-private)에서 appLogin() 이 항상 SDK_FAIL 로 실패합니다 (샌드박스는 정상)

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

안녕하세요, 앱인토스 게임 "골드 마블 세이렌"을 준비 중인 개발사입니다.

[개발 환경]

  • 앱인토스 게임 (WebView) — Godot 4.4 HTML5 export + JS 브릿지 방식 (React Native 아님)
  • SDK: @apps-in-toss/web-framework 2.6.0
  • 콘솔 토스 로그인 설정 완료: 약관 등록 / 스코프 설정 / 탈퇴 콜백 / 복호화 키 수령·서버 반영
  • 테스트 기기: iPhone (실기기)
  • deploymentId: 019f4c9d-be44-7cdb-b32a-8553c963bfee

[상황]

  1. 샌드박스 앱에서는 전 구간 정상입니다.
    appLogin() → 인가코드 발급 (referrer=SANDBOX) → 저희 서버에서 generate-token (mTLS) → 사용자 정보 복호화까지 모두 성공했습니다.

  2. 그런데 일반 토스앱에서 출시 전 테스트 링크(intoss-private://)로 진입하면,
    appLogin() 호출 시 로그인 동의 창은 정상적으로 표출되고 동의도 완료되는데,
    그 직후 항상 SDK_FAIL 이 반환됩니다.
    이 시점에 저희 서버 도달 로그는 0건이라 SDK 단계에서 실패하는 것으로 보입니다.

참고로 "appLogin() 은 출시하지 않아도 테스트 가능하다"는 기존 답변(토스 로그인 appLogin() 호출 시 "준비 중" 메시지)을 확인했습니다. 저희는 동의 창까지 정상 진행되는데도 SDK_FAIL 이 반환되는 상황입니다.

[질문]

  1. intoss-private:// 출시 전 테스트 환경에서 appLogin() 이 SDK_FAIL 을 반환하는 알려진 제약이나 조건이 있을까요?
  2. 콘솔 설정 등 저희 쪽에서 추가로 확인해야 할 항목이 있을까요?
  3. 출시 전에 실제 토스앱 환경에서 로그인을 검증할 수 있는 다른 방법이 있다면 안내 부탁드립니다.

appName (선택)

goldmarblesiren

이미지 첨부

안녕하세요 :slight_smile:
샌드박스앱에서 정상적으로 처리되었다면, 실환경(QR) 환경에서도 정상 동작해야할텐데 이상하네요 :thinking:
appLogin() 에서 authorizationCode, referrer 를 정상적으로 주는지 로그를 찍어봐주실 수 있을까요 ?
해당 코드를 서버로 보낼때도 로그를 찍어봐주시면 좋을 것 같습니다.

CORS도 설정이 되어있는지 확인 부탁드려요.

  • https://<appName>.apps.tossmini.com : 실제 서비스 환경
  • https://<appName>.private-apps.tossmini.com : 콘솔 QR 테스트 환경

안녕하세요, 임팩트게임즈입니다.

지난 문의에 상세한 점검 가이드 주셔서 감사합니다. 안내해주신 3가지 항목을 모두 확인했고, 원인을 특정하여 해결 완료되었기에 결과 공유드립니다.

점검 결과

  1. appLogin 로그: 온스크린 디버그 로깅을 붙여 확인한 결과, QR(출시 전 테스트) 환경에서도 appLogin은 정상 동작하고 있었습니다 (authorizationCode 정상 발급, referrer=DEFAULT 확인).
  2. 서버 전송 시점: appLogin 성공 이후 저희 서버로의 인증 요청 자체가 발생하지 않고 있었습니다. 이 지점에서 원인이 저희 클라이언트 내부에 있음을 확인했습니다.
  3. CORS: apps.tossmini.com / private-apps.tossmini.com 두 origin 모두 preflight 및 응답 헤더 정상임을 실측 확인했습니다.

원인

토스 SDK나 앱인토스 플랫폼 문제가 아니었습니다. 저희 게임 클라이언트(Godot 엔진)에서 SDK 콜백 결과를 전달받아 처리하는 스크립트에 버그가 있어, appLogin이 성공했음에도 결과가 후속 로직에 전파되지 않고 실패로 처리되고 있었습니다.

결과

수정 배포 후 재테스트에서 로그인 전 구간(appLogin → 인가코드 → 토큰 발급 → 로그인 완료) 정상 동작을 확인했습니다.

빠르고 정확한 가이드 덕분에 원인 범위를 좁힐 수 있었습니다. 감사합니다. 본 건은 종결 처리해주셔도 됩니다.

임팩트게임즈 드림