이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
안녕하세요. Apps in Toss 샌드박스 환경에서 토스 로그인 연동 테스트 중 문의드립니다.
서비스 정보
- 테스트 환경: 최신 샌드박스 앱
- 재현 환경: iOS 시뮬레이터, iPhone 실기기 모두 동일
- SDK: @apps-in-toss/web-framework 2.0.2
- 콘솔에서 토스 로그인 설정 완료
- Scope: user_name, user_phone
- 약관 등록 완료
- mTLS 인증서 등록 완료 (재발급 후 교체도 완료)
- 복호화 키/AAD 수령 및 서버 반영 완료
현재 증상
- getIsTossLoginIntegratedService() 결과는 true입니다.
- appLogin() 호출 시 authorizationCode는 정상적으로 반환됩니다.
- 이후 파트너 서버에서 아래 API를 호출하면 실패합니다.
POST https://apps-in-toss-api.toss.im/api-partner/v1/apps-in-toss/user/oauth2/generate-token - request body:
{
“authorizationCode”: “<appLogin으로 받은 코드>”,
“referrer”: “sandbox”
}
응답
- HTTP 400
- error: invalid_grant
서버 로그
- POST /auth/toss/login 수신 정상
- referrer: SANDBOX
- authorizationCodeLength: 128
[toss-login] exchangeAuthorizationCodeWithToss {
incomingReferrer: ‘SANDBOX’,
referrerCandidates: [ ‘sandbox’ ],
authorizationCodeLength: 128
}
[toss-login] response {
pathname: ‘/api-partner/v1/apps-in-toss/user/oauth2/generate-token’,
statusCode: 200,
raw: ‘{“resultType”:“FAIL”,“success”:null,“error”:{“errorType”:0,“errorCode”:“OAUTH_ISSUE_TOKEN_ERROR”,“reason”:“400 BAD_REQUEST : invalid_grant. 사유: 1. authorization_code 가 이미 사용되었거나 만료됨. 2. 존재하지 않는 authorization_code(혹은 clientId 불일치).”,“data”:{},“title”:null}}’
}
[toss-login] generateTossToken failed {
attemptedReferrer: ‘sandbox’,
tossErrorCode: ‘OAUTH_ISSUE_TOKEN_ERROR’,
canRetry: false
}
Fastify app error
- path: /auth/toss/login
- method: POST
- appErrorCode: TOSS_LOGIN_FAILED
- appErrorStatusCode: 502
- appErrorExtra: { tossErrorCode: ‘OAUTH_ISSUE_TOKEN_ERROR’ }
추가 확인 사항
- 시뮬레이터와 실기기 모두 동일하게 재현됩니다.
- 로그인 버튼은 한 번만 눌러 테스트했습니다.
- 미니앱 진입 인증은 정상 동작합니다.
토스 측 서비스 프로비저닝 또는 앱/인증서 바인딩 상태 확인 부탁드립니다.
appName (선택)
pal-ttak