From b52bd4e4e2cfa58d35170b103f4322ae3f0cda3d Mon Sep 17 00:00:00 2001 From: hide_d Date: Sun, 18 Mar 2018 04:12:37 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B9=B4=EC=B9=B4=EC=98=A4=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=EC=9D=84=20=EC=9D=B4=EC=9A=A9=ED=95=9C=20=EA=B0=80?= =?UTF-8?q?=EC=9E=85,=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=ED=94=84=EB=A1=9C?= =?UTF-8?q?=EC=84=B8=EC=8A=A4=20=EB=B3=B4=EC=99=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- i_entrance/logoutPost.php | 11 ++- i_login/j_login.php | 29 +++++++- tmp_kakao/index.php | 79 ++++++++++++++++++++- tmp_kakao/j_change_pw.php | 6 ++ tmp_kakao/j_join_process.php | 16 ++++- tmp_kakao/j_login_oauth.php | 130 +++++++++++++++++++++++++++++++++++ tmp_kakao/kakao.php | 5 ++ tmp_kakao/kakao_btn.png | Bin 3602 -> 5563 bytes tmp_kakao/kakao_to_me.png | Bin 0 -> 5061 bytes tmp_kakao/lib.join.php | 17 ++++- tmp_kakao/oauth.php | 31 +++++---- 11 files changed, 298 insertions(+), 26 deletions(-) create mode 100644 tmp_kakao/j_change_pw.php create mode 100644 tmp_kakao/j_login_oauth.php create mode 100644 tmp_kakao/kakao_to_me.png diff --git a/i_entrance/logoutPost.php b/i_entrance/logoutPost.php index d7bc0d38..1360d2f7 100644 --- a/i_entrance/logoutPost.php +++ b/i_entrance/logoutPost.php @@ -7,10 +7,9 @@ require_once(ROOT.'/f_config/SESSION.php'); $SESSION->logout(); +unset($_SESSION['access_token']); +setcookie("hello", "", time()-3600); -$response['result'] = 'SUCCESS'; - -sleep(1); -echo json_encode($response); - - +echo json_encode([ + 'result'=>'SUCCESS' +]); \ No newline at end of file diff --git a/i_login/j_login.php b/i_login/j_login.php index 9d2c3c79..2d778116 100644 --- a/i_login/j_login.php +++ b/i_login/j_login.php @@ -2,6 +2,7 @@ require_once('_common.php'); require_once(ROOT.'/f_func/class._Session.php'); require_once(ROOT.'/f_func/class._String.php'); +require(ROOT.'/f_func/class._Time.php'); require_once(ROOT.'/f_config/DB.php'); use utilphp\util as util; @@ -21,8 +22,16 @@ if(!$username || !$password){ ]); } +$canLogin = getRootDB()->queryFirstField('SELECT `LOGIN` FROM `SYSTEM` WHERE `NO` = 1'); +if($canLogin != 'Y'){ + returnJson([ + 'result'=>false, + 'reason'=>'현재는 로그인이 금지되어있습니다!' + ]); +} + $userInfo = getRootDB()->queryFirstRow( - 'SELECT `no`, `id`, `name`, `grade` '. + 'SELECT `no`, `id`, `name`, `grade`, `delete_after` '. 'from member where id=%s_username AND '. 'pw=sha2(concat(salt, %s_password, salt), 512)',[ 'username'=>$username, @@ -36,6 +45,24 @@ if(!$userInfo){ ]); } +$nowDate = _Time::DatetimeNow(); +if($userInfo['delete_after']){ + if($userInfo['delete_after'] < $nowDate){ + getRootDB()->delete('member', 'no=%i', $userInfo['no']); + returnJson([ + 'result'=>false, + 'reason'=>"기간 만기로 삭제되었습니다. 재 가입을 시도해주세요." + ]); + } + else{ + returnJson([ + 'result'=>false, + 'reason'=>"삭제 요청된 계정입니다.[{$userInfo['delete_after']}]" + ]); + } + +} + $SESSION->login($userInfo['no'], $userInfo['id'], $userInfo['grade']); returnJson([ 'result'=>true, diff --git a/tmp_kakao/index.php b/tmp_kakao/index.php index be91de3f..e0fb31b6 100644 --- a/tmp_kakao/index.php +++ b/tmp_kakao/index.php @@ -7,9 +7,86 @@ require('conf.php'); 카카오 로그인하기 + + - +
+
+ 비밀번호 찾기
+ + \ No newline at end of file diff --git a/tmp_kakao/j_change_pw.php b/tmp_kakao/j_change_pw.php new file mode 100644 index 00000000..566dcdbc --- /dev/null +++ b/tmp_kakao/j_change_pw.php @@ -0,0 +1,6 @@ +'로그인 토큰 에러. 다시 카카오로그인을 수행해주세요.' ]); } -if($refresh_token_expires < $nowDate){ +if($expires < $nowDate && (!$refresh_token || ($refresh_token_expires < $nowDate))){ + unset($_SESSION['access_token']); returnJson([ 'result'=>false, 'reason'=>'로그인 토큰 만료.'.$refresh_token_expires.' 다시 카카오로그인을 수행해주세요.' @@ -85,6 +86,7 @@ $restAPI = new Kakao_REST_API_Helper($access_token); if($expires < $nowDate){ $result = $restAPI->refresh_access_token($refresh_token); if(!isset($refresh_token)){ + unset($_SESSION['access_token']); returnJson([ 'result'=>false, 'reason'=>'카카오 로그인 과정 중 추가 갱신 절차를 실패했습니다' @@ -111,6 +113,15 @@ if(!$kakaoID && util::array_get($signupResult['msg'])!='already registered'){ } $me = $restAPI->meWithEmail(); +$me['code'] = util::array_get($me['code'], 0); +if ($me['code']< 0) { + $restAPI->unlink(); + returnJson([ + 'result'=>false, + 'reason'=>'카카오로그인이 정상적으로 수행되지 않았습니다.' + ]); +} + if(!util::array_get($me['kaccount_email_verified'],false)){ $restAPI->unlink(); returnJson([ @@ -120,6 +131,7 @@ if(!util::array_get($me['kaccount_email_verified'],false)){ } $email = $me['kaccount_email']; +$_SESSION['kaccount_email'] = $email; $emailChk = checkEmailDup($email); if($emailChk !== true){ $restAPI->unlink(); @@ -130,8 +142,6 @@ if($emailChk !== true){ } //모든 절차 종료. 등록. - - getRootDB()->insert('auth_kakao',[ 'id'=>$kakaoID, 'access_token'=>$access_token, diff --git a/tmp_kakao/j_login_oauth.php b/tmp_kakao/j_login_oauth.php new file mode 100644 index 00000000..cc9f8fed --- /dev/null +++ b/tmp_kakao/j_login_oauth.php @@ -0,0 +1,130 @@ +isLoggedIn()){ + $SESSION->logout(); +} + +$canLogin = getRootDB()->queryFirstField('SELECT `LOGIN` FROM `SYSTEM` WHERE `NO` = 1'); +if($canLogin != 'Y'){ + returnJson([ + 'result'=>false, + 'reason'=>'현재는 로그인이 금지되어있습니다!', + 'noRetry'=>true + ]); +} + +$nowDate = _Time::DatetimeNow(); + +$access_token = util::array_get($_SESSION['access_token']); +$expires = util::array_get($_SESSION['expires']); +$refresh_token = util::array_get($_SESSION['refresh_token']); +$refresh_token_expires = util::array_get($_SESSION['refresh_token_expires']); +$email = util::array_get($_SESSION['kaccount_email']); + + +if(!$access_token || !$expires){ + returnJson([ + 'result'=>false, + 'reason'=>'카카오로그인이 이루어지지 않았습니다.' + ]); +} + +//TODO: join과 login의 동작이 비슷하다. helper class로 묶자. +$restAPI = new Kakao_REST_API_Helper($access_token); + +if($expires < $nowDate && (!$refresh_token || ($refresh_token_expires < $nowDate))){ + returnJson([ + 'result'=>false, + 'reason'=>'로그인 토큰 만료.'.$refresh_token_expires.' 다시 카카오로그인을 수행해주세요.' + ]); +} + +if($expires < $nowDate){ + unset($_SESSION['kaccount_email']); + $email = null; + + $result = $restAPI->refresh_access_token($refresh_token); + if(!isset($refresh_token)){ + returnJson([ + 'result'=>false, + 'reason'=>'카카오 로그인 과정 중 추가 갱신 절차를 실패했습니다' + ]); + } + + $access_token = $result['access_token']; + $expires = _Time::DatetimeFromNowSecond($nowDate, $result['expires_in']); + if(isset($result['refresh_token'])){ + $refresh_token = util::array_get($result['refresh_token']); + $refresh_token_expires = _Time::DatetimeFromNowSecond($nowDate, $result['refresh_token_expires_in']); + } +} + + +if(!$email){ + $me = $restAPI->meWithEmail(); + $me['code'] = util::array_get($me['code'], 0); + if ($me['code']< 0) { + returnJson([ + 'result'=>false, + 'reason'=>'카카오로그인이 정상적으로 수행되지 않았습니다.' + ]); + } + + if(!util::array_get($me['kaccount_email_verified'],false)){ + $restAPI->unlink(); + returnJson([ + 'result'=>false, + 'reason'=>'카카오 계정 이메일이 아직 인증되지 않았습니다' + ]); + } + + $email = $me['kaccount_email']; + $_SESSION['kaccount_email'] = $email; +} + + +$userInfo = getRootDB()->queryFirstRow( + 'SELECT `no`, `id`, `name`, `grade`, `delete_after` from member where email=%s',$email); + +if(!$userInfo){ + $restAPI->unlink(); + unset($_SESSION['access_token']); + returnJson([ + 'result'=>false, + 'reason'=>'카카오로그인에 해당하는 계정이 없습니다. 재 가입을 시도해주세요.' + ]); +} + +if($userInfo['delete_after']){ + if($userInfo['delete_after'] < $nowDate){ + $restAPI->unlink(); + unset($_SESSION['access_token']); + getRootDB()->delete('member', 'no=%i', $userInfo['no']); + returnJson([ + 'result'=>false, + 'reason'=>"기간 만기로 삭제되었습니다. 재 가입을 시도해주세요." + ]); + } + else{ + $restAPI->unlink(); + unset($_SESSION['access_token']); + returnJson([ + 'result'=>false, + 'reason'=>"삭제 요청된 계정입니다.[{$userInfo['delete_after']}]" + ]); + } + +} + +$SESSION->login($userInfo['no'], $userInfo['id'], $userInfo['grade']); +returnJson([ + 'result'=>true, + 'reason'=>'로그인 되었습니다.' +]); \ No newline at end of file diff --git a/tmp_kakao/kakao.php b/tmp_kakao/kakao.php index 76b42044..e822930e 100644 --- a/tmp_kakao/kakao.php +++ b/tmp_kakao/kakao.php @@ -39,6 +39,7 @@ class Talk_Path { public static $TALK_PROFILE= "/v1/api/talk/profile"; public static $TALK_TO_ME = "/v2/api/talk/memo/send"; + public static $TALK_TO_ME_DEFAULT = "/v2/api/talk/memo/default/send"; } class Push_Notification_Path @@ -230,6 +231,10 @@ class Kakao_REST_API_Helper return $this->request(Talk_Path::$TALK_PROFILE); } + public function talk_to_me_default($req){ + return $this->request(TalkPath::$TALK_TO_ME_DEFAULT, json_encode($req), 'POST'); + } + /////////////////////////////////////////////////////////////// // API Test diff --git a/tmp_kakao/kakao_btn.png b/tmp_kakao/kakao_btn.png index a29c7a7f0efe0e5ff97d72f6be61613a1e17fe0e..b5054672cf4ea1b1e0673ae426e6958be673a087 100644 GIT binary patch delta 4710 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 VCo?{hxYH4ymb$K5jf!>Xe*rsx`c?n{ delta 2733 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 diff --git a/tmp_kakao/kakao_to_me.png b/tmp_kakao/kakao_to_me.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c98e3e2e083cf02dedeb99c444074d8f97d2f3 GIT binary patch literal 5061 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 G5&r`Z8TqvU literal 0 HcmV?d00001 diff --git a/tmp_kakao/lib.join.php b/tmp_kakao/lib.join.php index 33bc6ca7..c3677cfb 100644 --- a/tmp_kakao/lib.join.php +++ b/tmp_kakao/lib.join.php @@ -2,6 +2,7 @@ require_once('_common.php'); require_once(__dir__.'/../d_setting/conf.php'); require_once(__dir__.'/../f_func/func.php'); +require(ROOT.'/f_func/class._Time.php'); function checkUsernameDup($username){ if(!$username){ @@ -48,9 +49,19 @@ function checkEmailDup($email){ return '적절하지 않은 길이입니다.'; } - $cnt = getRootDB()->queryFirstField('SELECT count(no) FROM member WHERE `email` = %s LIMIT 1', $email); - if($cnt != 0){ - return '이미 사용중인 이메일입니다'; + $userInfo = getRootDB()->queryFirstField('SELECT `no`, `delete_after` FROM member WHERE `email` = %s LIMIT 1', $email); + if($userInfo){ + $nowDate = _Time::DatetimeNow(); + if (!$userInfo['delete_after']) { + return '이미 사용중인 이메일입니다. 관리자에게 문의해주세요.'; + } + + if($userInfo['delete_after'] >= $userInfo){ + return "삭제 요청된 계정입니다.[{$userInfo['delete_after']}]"; + } + + //$userInfo['delete_after'] < $userInfo + getRootDB()->delete('member', 'no=%i', $userInfo['no']); } return true; } \ No newline at end of file diff --git a/tmp_kakao/oauth.php b/tmp_kakao/oauth.php index 3f6c54c8..a9bfb5c1 100644 --- a/tmp_kakao/oauth.php +++ b/tmp_kakao/oauth.php @@ -1,6 +1,5 @@ \n"; $me = $restAPI->meWithEmail(); -var_dump($me); +$oauth_mode = 'login'; $me['code'] = util::array_get($me['code'], 0); if($me['code']< 0){ switch($me['msg']){ case 'NotRegisteredUserException': - header('Location:join.php', true, 303); - die(); + $oauth_mode = 'join'; + break; default: - die('알 수 없는 에러:'.$me['msg']); + $oauth_mode = 'error'; } } +else{ + $_SESSION['kaccount_email'] = $me['kaccount_email']; +} - - -//이메일 주소를 받아옴 - -// -//$db = getRootDB(); -//TODO: 로그인된 유저인지 확인해야함. +?> + + + + + + + + \ No newline at end of file