프로젝트/Toy Project

(0704) 카카오로그인 KOE010 이슈, postman 테스트, axios 에러

수e 2022. 7. 5. 01:54

https://devtalk.kakao.com/t/koe010-bad-client-credentials/115388?source_topic_id=115502 

 

KOE010 (Bad client credentials) 에러가 발생할 때

{“error”:“invalid_client”¸ “error_description”:'Bad client credentials'¸ “error_code”:'KOE010'} KOE010 (Bad client credentials) 에러가 발생할 때 ◾️ 대부분 client_secret이 활성화된 상태에서 client_secret을 파라메

devtalk.kakao.com

https://kakao-tam.tistory.com/66?category=866966 

 

node.js + axios 예제 - Unlink

axios 사용 시, encodeURIComponent 를 반드시 사용해야함. - Post방식으로 호출할때 const formUrlEncoded = x => Object.keys(x).reduce((p, c) => p + `&${c}=${encodeURIComponent(x[c])}`, '') app.get('/unl..

kakao-tam.tistory.com

우선, KOE010 에러는 client_secret 이 달라 발생하기도 하지만
Request가 정해진 형식으로 들어오지 않아서 발생하기도합니다.

가장 많이 리포팅되는 내용은
헤더의 ‘content-Type’: 'application/x-www-form-urlencoded’만 설정하고
data부를 encodeURI 처리하지 않은 경우였습니다.

그래서 data부 인코딩 예제를 첨부해드린 것이였구요.

--------------------------------------------------------------------------

postman 테스트 참고

https://zionh.tistory.com/40

 

[node.js] 이해가 어려웠던 카카오 로그인 박살내기

연동로그인은 앱과 사용자간의 거리를 좁혀주는 확실히 필요한 툴이다. 그 중 한국에서는 카카오를 사용하지 않으면 간첩(?)일 정도니 카카오 연동로그인 구현이 필수적이라고 생각한다. 하지

zionh.tistory.com

 

--------------------------------------------------------------------------

프록시 설정으로 FE(포트번호 3000)와 BE(포트번호 8080)를 연동

카카오로그인 redirect_url을 localhost:8080/...으로 설정

-> FE에서 접근 불가한 경로라서 통신 에러가 나는 것 같아

redirect_url을 localhost:3000/...으로 설정

-> Oauth2RedirectHandler 컴포넌트 정상 작동해 콘솔에 인가코드 찍힘 그런데 axios 에러 발생해 BE에 코드 전달 실패

  1. Exception: AxiosError
  2. code: "ERR_BAD_REQUEST"
  3. config: {transitional: {…}, transformRequest: Array(1), transformResponse: Array(1), timeout: 0, adapter: ƒ, …}
  4. message: "Unsupported protocol localhost:"
  5. name: "AxiosError"

->https://okky.kr/article/1213494

 

OKKY | 최신버전 axios에 버그가 있었네요

비동기 통신을 할 때에 axios를 사용 중인데 어제부터 갑자기 요청을 보내면  Unsupported protocol 에러가 떠서 당황했는데 찾아보니 0.27.1 버전부터 요청파라미터에 콜론 : 이 있으면 해당에러가 뜨

okky.kr

참고해서 axios 버전을 0.27.0으로 다시 설치해봤지만 해결 못함

=>해결 : FE에서 GET메소드로 요청할 때는 url : 'URL' + {전달할 데이터} !!