앱 아이디: 1036609
개발환경: PHP, Apache, Mysql
서버나 스크립트 변경이 없는데 오늘 갑자기 “인증토큰 요청 실패” 에러가 발생합니다.
Array
(
[error] => unsupported_grant_type
[error_description] => Unsupported grant type: authorization_code,authorization_code
[error_code] => KOE310
)
에러 발생 코드: 다음 코드의 가장 아랫줄에서 에러가 발생합니다.
<?php
include_once dirname(__FILE__)."/kakao_lib.php";
$kakaologin = new kakaoRestAPI();
if( $kakaologin->auth_apply !== true){ die("카카오로그인을 사용할 수 없습니다."); }
// 로그아웃일경우
if( !empty($_GET['logout'])){
// 사용자 정보 호출
$userLogout = @json_decode($kakaologin->getLogout($_SESSION['kakao_token_info']['access_token']),true);
// 에러
if( !empty($userLogout['msg']) ){
echo '사용자 로그아웃 요청실패'; print_r($userLogout); echo '</pre>';
exit;
}
die(header("Location:".$kakaologin->result_uri));
}
// 받은 코드로 처리
$code = empty($_GET['code']) ? '': $_GET['code'];
$token = @json_decode($kakaologin->getToken($code),true);
// 에러
if( !empty($token['error']) ){
echo '인증토큰 요청 실패'; print_r($token); echo '</pre>';
exit;
}
kakao_lib.phip : 라이브러리 파일 중 상단입니다.
<?php
/*
@ 카카오 로그인 REST API 샘플
© 2022 REDINFO <webmaster@redinfo.co.kr>
*/
@session_save_path("../data/session");
@session_start();
//session_start();
class kakaoRestAPI{
// <수정필요> REST API 키값 : kakao developers > 내 애플리케이션 > 요약정보 > 앱 키 > REST API 키\
var $restapi_key = 'a27638d1470b2d64daace4c015aaf061';
// <수정필요> 리다렉트 URL : kakao developers > 내 애플리케이션 > 제품설정 > 카카오 로그인 > Redirect URI
var $redirect_uri = 'https://koreanastrology.org/gnuboard5/bbs/kakao_login.php';
// <수정필요> 카카오 로그인 인증 후 이동할 페이지
var $result_uri = 'https://koreanastrology.org/pro/';
// api 사용가능 여부
var $auth_apply = false;
// 디버깅시 결과 볼지 여부 (true or false)
var $debug_view = true;
// 디버깅시 결과 테스트 (true or false)
var $debug_txt = '';
// 요청 URL 정의
var $request_url = array(
'code'=>'https://kauth.kakao.com/oauth/authorize?response_type=code&client_id={REST_API_KEY}&redirect_uri={REDIRECT_URI}', // get
'token'=>'https://kauth.kakao.com/oauth/token', // 토큰 받기 // (only post)
'userInfo'=>'https://kapi.kakao.com/v2/user/me', // 사용자 정보 가져오기(get or post)
'logout'=>'https://kapi.kakao.com/v1/user/logout', // 사용자 로그아웃 가져오기(only post)
);