테스트 빌드 실행 시 ByteString 변환 에러로 appLogin() 실패

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

질문 / 문제 해결

내용을 설명해주세요

내용:

  • workspaceId: 82345, miniAppId: 67348 (appName: catcal)
  • 재현 deploymentId: 01a03397-7dd1-71c9-a509-6cd8126a7d9e (SDK 3.0.5, @apps-in-toss/web-framework 3.0.5)
  • 증상: appLogin() 호출 시 Cannot convert argument to a ByteString because the character at index 7 has a value of 53664 which is greater than 255. 에러 발생
  • 재현 경로: 푸시 알림으로 열기, 콘솔 QR(consoleTestUrl)로 열기 — 둘 다 동일하게 재현됨
  • 자체 확인한 사항: 페이지 document.title을 순수 영문으로 바꿔서 재빌드·재업로드해도 에러 인덱스(7)·문자값(53664, 토)이 완전히 동일하게 재현됨 → 저희 웹 콘텐츠(HTML/JS)가 원인이 아닌 것으로 보임
  • 추정: 문자값 53664는 “토”(토스)의 유니코드값이고, Bearer 접두사(7자) 뒤에 한글 값이 붙는 패턴과 일치 — SDK 내부적으로 분석 로그(referrer, document_title 등)를 만들 때 테스트 빌드 전용 경로(콘솔 응답에 usedCustomReferrer: [“ait_sandbox”,“ait”] 확인됨)에서 한글이 섞인 값을 헤더성 값으로 잘못 사용하는 것으로 의심됨

appName (선택)

catlender

안녕하세요 :slight_smile:
확인해보니 토스 로그인, supabase 서버까지 try, catch로 묶여있는 것 같은데
서버쪽 토스 로그인 로직 확인 부탁드려도 될까요 ?

추가로 확인해주시면 좋을 사항 아래 남겨두겠습니다 :man_bowing:

전체 체인

1. `app.js:517` → fetch('.../api/toss-login') (파트너사 Vercel 서버)
2. 서버 내부에서 `Authorization: Bearer ${x}` 조립, `x`가 '토'로 시작하는 한글 문자열 (토스 API 실패 응답의 에러 메시지를 토큰 자리에 넣는 형태로 추정)
3. undici가 서버에서 TypeError throw
4. 서버가 그 `err.message`를 응답 `error` 필드로 내려줌
5. `app.js:520` `throw new Error(result.error)` → `app.js:539` `alert('토스 로그인 실패: ' + err.message)`
6. `appLogin()`이 같은 try 블록 안에 있어서 appLogin 에러처럼 보인 것

확인 요청 사항

  1. /api/toss-login 서버 코드 헤더 조립부 — Bearer ${...} 에 토스 API 실패 응답의 한글 에러 메시지가 들어가는지
  2. Vercel Function 로그에서 서버 측 스택트레이스 확인
  3. 서버 내부 err.message를 응답 error로 그대로 내려주지 않도록 수정 (내부 정보 노출)
  4. 웹뷰 try/catch 3단 분리 (appLogin / fetch / verifyOtp)

넵 확인했습니다

2026년 8월 24일 (월) 오후 11:12, Dylan <notifications@appsintoss.discoursemail.com>님이 작성: