From 8cb2e2a44711a28718f399449c3875fbd2fe2247 Mon Sep 17 00:00:00 2001 From: Hide_D Date: Sun, 28 Aug 2022 18:00:53 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20OAuth=20Redirect=20UTI=EA=B0=80=20?= =?UTF-8?q?=EC=82=AC=EC=A0=84=20=EA=B0=92=EA=B3=BC=20=EB=8B=A4=EB=A5=B8=20?= =?UTF-8?q?=EA=B2=BD=EC=9A=B0=20domain=20=EB=B3=B4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oauth_kakao/oauth.php | 2 +- src/kakao/Kakao_REST_API_Helper.php | 23 ++++++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/oauth_kakao/oauth.php b/oauth_kakao/oauth.php index d2f41c5e..5ed8953f 100644 --- a/oauth_kakao/oauth.php +++ b/oauth_kakao/oauth.php @@ -16,7 +16,7 @@ if(!$auth_code){ //TODO: /oauth/token -$restAPI = new Kakao_REST_API_Helper(); +$restAPI = new Kakao_REST_API_Helper(''); $result = $restAPI->create_access_token($auth_code); //항상 scope = account_email profile임 diff --git a/src/kakao/Kakao_REST_API_Helper.php b/src/kakao/Kakao_REST_API_Helper.php index ed2b09d5..f95021ea 100644 --- a/src/kakao/Kakao_REST_API_Helper.php +++ b/src/kakao/Kakao_REST_API_Helper.php @@ -72,12 +72,27 @@ class Kakao_REST_API_Helper private $access_token; private $admin_key; - public function __construct($access_token = '') + private string $REST_KEY; // 디벨로퍼스의 앱 설정에서 확인할 수 있습니다. + private string $REDIRECT_URI; // 설정에 등록한 사이트 도메인 + redirect uri + private $AUTHORIZATION_CODE = ''; // 동의를 한 후 발급되는 code + private $REFRESH_TOKEN = ''; + + public function __construct($access_token = '', bool $changeRedirectDomain = true) { if ($access_token) { $this->access_token = $access_token; } + if($changeRedirectDomain && key_exists('HTTP_HOST', $_SERVER)){ + $uriObj = \phpUri::parse(KakaoKey::REDIRECT_URI); + $uriObj->authority = $_SERVER['HTTP_HOST']; + $this->REDIRECT_URI = $uriObj->join(''); + } + else{ + $this->REDIRECT_URI = KakaoKey::REDIRECT_URI; + } + $this->REST_KEY = KakaoKey::REST_KEY; + self::$admin_apis = array( User_Management_Path::$USER_IDS, Push_Notification_Path::$REGISTER, @@ -268,10 +283,4 @@ class Kakao_REST_API_Helper /////////////////////////////////////////////////////////////// // API Test /////////////////////////////////////////////////////////////// - - - private $REST_KEY = KakaoKey::REST_KEY; // 디벨로퍼스의 앱 설정에서 확인할 수 있습니다. - private $REDIRECT_URI = KakaoKey::REDIRECT_URI; // 설정에 등록한 사이트 도메인 + redirect uri - private $AUTHORIZATION_CODE = ''; // 동의를 한 후 발급되는 code - private $REFRESH_TOKEN = ''; }