Axios로 token 요청할때 401 에러가 뜹니다

async getToken(code){
    const headers = {
        "Content-type" : "application/x-www-form-urlencoded;charset=utf-8"
    }
    const host = `${this.KKO_HOST}/oauth/token`
    // const body = this.qs.stringify({
    //     grant_type:'authorization_code',
    //     client_id: this.REST_API_KEY,
    //     redirect_uri: this.REDIRECT_URI,
    //     code,
    //     client_secret: this.CLIENT_SERCRET,
    // })
    const body = {
        grant_type:'authorization_code',
        client_id: this.REST_API_KEY,
        redirect_uri: this.REDIRECT_URI,
        code,
        client_secret: this.CLIENT_SERCRET,
    }

    const {data} = await this.axios.post(host, body, headers)
    return data
}

AxiosError: Request failed with status code 401
at settle (/Users/mac/Desktop/KGA/ipk_board/back/node_modules/axios/dist/node/axios.cjs:1896:12)
at IncomingMessage.handleStreamEnd (/Users/mac/Desktop/KGA/ipk_board/back/node_modules/axios/dist/node/axios.cjs:2940:11)
at IncomingMessage.emit (node:events:525:35)
at endReadableNT (node:internal/streams/readable:1359:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)

현재 인가 코드까지 받아서 req.query로 code를 받은 다음 access_token을 요청할때 나는 오류입니다.
사실 어제까지는 됐었는데 자고 일어나니 안되는데 도저히 못찾겠습니다 ㅠㅠ

잘못된 param을 도저히 못찾겠어서 글써봅니다!

안녕하세요.

기본적으로 axios는 javascript 객체를 JSON으로 처리합니다.
urlencoded 방식으로 보내시려면 json 객체가 아닌 queryString 과 같은 형식으로 전송 부탁드립니다.

ex)

body = 'grant_type=authorization_code'
 + '&redirect_uri=' + encodeURIComponent(this.REDIRECT_URI)
 + '&code=...'
axios.post(host, body, headers)

qs모듈을 require하여 qs.stringify로 queryString 형식으로 보냈는데도 같은 오류가 발생하여
블로그를 찾아보다가 바꾼 상황을 수정하지 않고 그대로 올려버렸네요.

현재는 손댄게 없는데도 갑자기 오류가 발생하지 않는데 혹시 로그가 남아있는지 확인할 수 있을까요??

ID: 859068
입니다

소스코드는 qs 모듈을 사용할 때로 원복하시면 좋을것 같습니다.

발생하신 오류는 KOE320 입니다.
이 오류는 유효하지 않은 인가코드(code)를 사용할 때, 발생하는 오류로 서버측 로그에 의하면 동일한 인가코드를 2회 이상 사용하고 있습니다. 인가코드는 한번만 사용가능합니다.

네 인가코드 중복사용 오류는 파악하고 있습니다
로그가 있는 것 같으니 일단 해결이 된 것 같습니다!!
감사합니다!!