토큰받기 시, KOE010 에러발생 문의 (PHP curl)

안녕하세요.

PHP cURL을 통하여 인가코드 획득 이후에 토큰받기 시에 KOE010 에러가 발생하여 문의드립니다.

url, header, parameter는 아래와 같습니다.

  1. url
    https://kauth.kakao.com/oauth/token (POST)s

  2. header (두 가지 모두 시도)
    Content-type: application/x-www-form-urlencoded;charset=utf-8
    Content-type: application/x-www-form-urlencoded

  3. parameter
    [grant_type] => authorization_code
    [client_id] => 앱 REST API 키
    [redirect_uri] => http://mall.localhost/…(생략)

[code] => 인가 코드값

=================================

위 값으로 실제로 cURL을 실행하는 코드는 아래와 같습니다.

$data = array(
“grant_type” => “authorization_code”,
“client_id” => 앱 REST API 키
“redirect_uri” => http://mall.localhost/…(생략)
“code” => $code
);

    $url = "https://kauth.kakao.com/oauth/token";

    $header = array();
    $header[] = "Content-type: application/x-www-form-urlencoded;charset=utf-8";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST , true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $res = curl_exec($ch);

관련하여 FAQ(KOE010 (Bad client credentials) 에러가 발생할 때)도 확인해보았을 때,

client_secret 값이나 Content-Type 값, method가 GET 방식인 사유에는 해당되지 않는 것으로 확인하였습니다.

많이 바쁘시겠지만 확인 부탁드리겠습니다.

앱 아이디는 986086 입니다.

안녕하세요.

해당 디벨로퍼스앱 로그에 KOE010에러가 없는 것 보니 헤더가 잘못된듯한데요.

사용하신 인가 코드 기재 부탁드려요.

mHCEXH-Ijq7ppOyUgX4mPgL4CBcAJW2t3W02gE7p1S5GSjsx7e-JMuubBRAKPXVaAAABi63ADO_okopMIboAuA

aKneMoVOSsvOhMvcAW4pDe5B74t4Uq_AMOkBw4dPLiweW7IkFwPr23Xu2tIKPXTaAAABi62huc_RDLJpR7eCqA

위 인가코드 이외에도 여러 번 했는데, 위 2개로 확인 부탁드립니다.

Content-Type
application/x-www-form-urlencoded;charset=UTF-8; boundary=------------------------0bd67d8fd646fca2

첫번째 기재하신 인가코드 근처 로그를 보니
헤더는 훼손되었고 파라메터는 들어오지 않았습니다.

아래 내용 참고 해보시겠어요?

[rest api 예제] php - 카카오 로그인, 카카오 친구목록 조회 및 카카오톡 메시지

해결했습니다.

기존 : curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
이후 : curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

와 같은 형태로 파라미터 배열을 빌드쿼리해주니 정상적으로 토큰 발급되었습니다.