카카오 로그인 (REST API) invalid_client 에러

안녕하세요

카카오 REST API 를 이용하여 로그인연동하고 있습니다.

REST API key (bac2399c*************************************) 를 사용 하여 token authorization_code 를 받았으나
토큰 요청시 invalid_client 에러가 발생합니다.

아래 소스 첨부합니다.

  • oauth.vue
<template>
  <v-container>
    oauth: {{ code }} <br/>
    userinfo: {{ userinfo }}<br/>
    error: {{ errorRes }}
  </v-container>
</template>
<script>
  import axios from 'axios'

  export default {
    data () {
      return {
        userinfo: null,
        errorRes: null,
        code: null
      }
    },
    asyncData ({ query, env, error }) {
      let params = {
        grant_type: 'authorization_code', // authorization_code'
        client_id: env.kakao.appkey, // {app_key}'
        redirect_uri: env.baseUrl + '/oauth/', // {redirect_uri}'
        code: query.code // {authorize_code}'
      }
      console.log(params)
      return axios.post('https://kauth.kakao.com/oauth/token', params)
        .then(res => {
          return {
            userinfo: res
          }
        })
        .catch(e => {
          console.error('ERROR', e.response.data)
          return {
            errorRes: {
              statusCode: e.response.status,
              message: `${e.response.data.error}: ${e.response.data.error_description}`
            }
          }
        })
    }
  }
</script>

/login: 로그인링크
/oauth: 인증

확인부탁드립니다.
감사합니다.

아… 삽질하다가 겨우 확인했네요

카카오 로그인 api 명세 보면
헤더를
Content-type: application/x-www-form-urlencoded;
로 보내라고 되어있는데요.

x-www-from-urlencoded는 json으로 보내는게 아니라
쿼리 스트링처럼 보내는 거더라고요.
apiurl?grant_type=authorizattion_code&client_id=234234
이런식으로요

3개의 좋아요

저도 post요청이라 당연하게 body에 들어갈 줄 알았는데,
자세히 보니 params로 들어가는게 맞네요ㅠ