카테고리 없음

iTer project - delete 메서드: 토큰 관련 오류 해결

팅탱팅탱 2023. 11. 28. 13:06

회원가입한 사용자에게 회원 탈퇴를 할때 탈퇴 사유를 받기로했고 탈퇴 사유를 번호로 매겨서 쿼리스트링 파라미터로 서버에 넘겨주는 방식으로 했다.

근데 여기서 delete메서드를 사용했는데 

이런식으로 헤더에는 엑세스 토큰을 넣어주고 경로변수로 이유들을 쿼리스트링으로 주기로 하였다.

 

근데 탈퇴 과정에서 401에러가 뜨면서 토큰이 존재하지않는다는 에러가 자꾸 났다.

// 당시 에러
{
    "isSuccess": false,
    "code": "JWT_IS_NOT_EXIST",
    "message": "InsufficientAuthenticationException"
}

분명 헤더에 엑세스토큰을 넣었고 삭제 url 또한 문제가 없었다.

 

근데 생각해보니 delete 메서드를 보면 삭제할때 전달해주는 정보가 메서드안에 reason밖에 없었다. 그래서 혹시몰라서 header 파라미터 또한 넣어서 구동을 해주니 정상작동이 되었다.

 

// 당시 회원 탈퇴 요청
const response = await api.delete('/user/withdraw', {
        params: {
          reasons: reason,
        },
        headers: {
            Authorization: `${accessToken}`,
          }, 
      });

 

어찌보면 당연한 이야기다 삭제할정보인 토큰을 안넣다니....

이걸로 한가지 깨달은건 헤더에 토큰이 넣어져있다고 delete요청을 보낼때 헤더에있는 정보들이 삭제되는게 아닌 따로 파라미터로 넣어줘야 한다는 것을...!

앞으로는 이런 오류가 발생하지않도록 주의해야겠다...(이걸로 2일을 날림...)