alert('잘못된 경로로 접근한것 같습니다.'); location.href='/login.siso'; "); exit; } $naver_curl = "https://nid.naver.com/oauth2.0/token?grant_type=authorization_code&client_id=".NAVER_CLIENT_ID."&client_secret=".NAVER_CLIENT_SECRET."&redirect_uri=".urlencode(NAVER_CALLBACK_URL)."&code=".$_GET["code"]."&state=".$_GET["state"]; //토큰값 가져오기 $is_post = false; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$naver_curl); curl_setopt($ch, CURLOPT_POST,$is_post); curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); $response = curl_exec($ch); $status_code = curl_getinfo($ch,CURLINFO_HTTP_CODE); curl_close($ch); if($status_code==200) { $responseArr = json_decode($response,true); $_SESSION["naver_access_token"] = $responseArr["access_token"]; $_SESSION["naver_refresh_token"] = $responseArr["refresh_token"]; //토큰 값으로 네이버 회원정보 가져오기 $me_headers = array( 'Content-Type: application/json', sprintf('Authorization: Bearer %s', $responseArr["access_token"]) ); $me_is_post = false; $me_ch = curl_init(); curl_setopt($me_ch,CURLOPT_URL,"https://openapi.naver.com/v1/nid/me"); curl_setopt($me_ch,CURLOPT_POST,$me_is_post); curl_setopt($me_ch,CURLOPT_HTTPHEADER,$me_headers); curl_setopt($me_ch,CURLOPT_RETURNTRANSFER,true); $me_response = curl_exec($me_ch); $me_status_code = curl_getinfo($me_ch,CURLINFO_HTTP_CODE); curl_close($me_ch); $me_responseArr = json_decode($me_response,true); if ($me_responseArr['response']['id']) { // 회원아이디(naver_ 접두사에 네이버 아이디를 붙여줌) //$m_id = 'naver_'.$me_responseArr['response']['id']; // 회원가입 DB에서 회원이 있으면(이미 가입되어 있다면) 토큰을 업데이트 하고 로그인함 $m_id = $me_responseArr['response']['id']; // 회원가입 DB에서 회원이 있으면(이미 가입되어 있다면) 토큰을 업데이트 하고 로그인함 $chkProfile = getValue("_MEMBER"," where m_id='".$m_id."' and m_logintype='naver'","ar","*"); if ($chkProfile) { // 멤버 DB에 토큰값 업데이트 //$responseArr['access_token'] // 로그인 $MEMIDX = $chkProfile["m_idx"]; if($chkProfile["m_level"]=="user") { $_SET_LEVEL = "1"; $locationUrl = "index.siso"; }else{ $_SET_LEVEL = "1"; $locationUrl = "reg_profile.siso?idx=".$MEMIDX; } }else{ // 회원정보가 없다면 회원가입 // 회원아이디 $mb_uid $mb_nickname = $me_responseArr['response']['nickname']; // 닉네임 $mb_email = $me_responseArr['response']['email']; // 이메일 $mb_gender = $me_responseArr['response']['gender']; // 성별 F: 여성, M: 남성, U: 확인불가 $mb_age = $me_responseArr['response']['age']; // 연령대 $mb_birthday = $me_responseArr['response']['birthday']; // 생일(MM-DD 형식) $mb_profile_image = $me_responseArr['response']['profile_image']; // 프로필 이미지 // 멤버 DB에 토큰과 회원정보를 넣고 로그인 $isql = "insert into _MEMBER set m_id='".$m_id."', m_pass='".$m_id."', m_email='".$mb_email."', regdate = now(), m_ip = '".$_SERVER["REMOTE_ADDR"]."', m_agent = '".$_SERVER["HTTP_USER_AGENT"]."', m_expire_date = '0000-00-00', m_expire_time = '00:00:00', m_use = 'Y', m_level = 'user', m_lastlogindate = now(), m_logintype='naver',m_name='".$mb_nickname."', m_gender='".$mb_gender."',m_birth='".$mb_birthday."' "; //echo $isql; //exit; $irs = query($isql); if($irs) { $MEMIDX = insert_id(); $SET_LEVEL = "1"; $locationUrl = "reg_profile.siso?idx=".$MEMIDX; if($mb_email) { $maillink = "https://lifeadvisor.ncue.net/mailaccept.php?midx=".$MEMIDX."&memail=".$profile["email"]; $mailcontents = "아래 이메일 주소를 클릭하여 정식회원이 되세요.
인증 하기"; //1. 이메일 인증 메일 전송 //$sendMail = sendMail('yds5004@naver.com', '인연톡', '인연톡 이메일 인증' ,$mailcontents, $profile["email"], "인연톡 임시회원", true); } }else{ echo (" "); exit; } } //회원이 로그인처리했다고 파악하고 세션 생성후 메인페이지로 보낸다. setSession('_IDX', $MEMIDX); setSession('_LEVEL', $_SET_LEVEL); setSession('ltype', "naver"); setCookie('_LEVEL', $_SET_LEVEL, time()+2678400, '/', '.'._HOST); setCookie('_PW_NPLACE_SAVE',$m_id, time()+2678400,'/', _HOST); echo (" "); exit; } else { // 회원정보를 가져오지 못했습니다. echo (" "); exit; } } ?>