/oauth/authorize API를 호출하고 [동의] 버튼을 누르면 code 파라미터를 url로 전달 받을 수 있고, 그 다음에 /oauth/token API를 사용하여 access token을 요청합니다. php에서 대개의 경우에는 CURLOPT_POSTFIELDS 필드에 Array 형태로 파라미터를 전달하지만 /oauth/token API에서는 Query String 형태로 넘겨야 정상적인 응답을 받을 수 있습니다.
<?php
$CLIENT_ID = "[생성한 App의 REST API KEY를 입력하세요.]";
$REDIRECT_URI = "[App의 사이트 설정 정보의 REDIRECT URI를 입력하세요.]";
$TOKEN_API_URL = "https://kauth.kakao.com/oauth/token";
$code = $_GET["code"];
$params = sprintf( 'grant_type=authorization_code&client_id=%s&redirect_uri=%s&code=%s', $CLIENT_ID, $REDIRECT_URI, $code);
$opts = array(
CURLOPT_URL => $TOKEN_API_URL,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSLVERSION => 1, // TLS
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $params,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false
);
$curlSession = curl_init();
curl_setopt_array($curlSession, $opts);
$accessTokenJson = curl_exec($curlSession);
curl_close($curlSession);
echo $accessTokenJson;
?>