[Sandbox] 앱인토스 환경에서 generate-token 호출 시 invalid_grant (OAUTH_ISSUE_TOKEN_ERROR) 에러가 발생합니다

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

질문 / 문제 해결

내용을 설명해주세요

안녕하세요. 앱인토스(Apps in Toss) 서비스 개발 중 로그인 연동 과정에서 해결되지 않는 문제가 있어 질문드립니다.

[현재 구성 및 개발 환경]

클라이언트 (웹뷰): 토스 샌드박스 최신 버전 앱에서 appLogin()을 정상적으로 완료한 후, 발급받은 authorizationCode와 referrer(SANDBOX)를 자체 백엔드 서버로 전송하고 있습니다.

백엔드 (서버): 토스 개발자 센터의 샌드박스 환경에서 발급받은 mTLS 인증서를 적용하여 generate-token 요청을 보내고 있습니다.

[발생 에러]
백엔드에서 요청 시 다음과 같이 invalid_grant 에러 응답을 받습니다.

JSON
{
“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
}
}
[확인한 사항]

클라이언트에서 코드를 발급받은 즉시(10분 이내) 서버로 전송하여 유효기간 만료 문제는 아닙니다.

샌드박스 콘솔에서 다운로드한 mTLS 인증서를 백엔드 HTTP Client에 정상적으로 바인딩하여 요청하고 있습니다.

요청 바디(Body)에는 공식 스펙에 맞게 authorizationCode와 referrer(SANDBOX)만 포함하여 전송 중입니다.

환경과 인증서를 모두 샌드박스로 일치시켰음에도 불구하고 지속적으로 같은 에러가 발생해서 인증이 거절되고 있습니다… 앱인토스 샌드박스 환경에서 토큰을 교환할 때 제가 놓친 내부 설정이나 필수 조건이 있을까요?

appName (선택)

aniwhere