function social_login_callback_init() { if (isset($_GET['hsl_callback'])) { // && !is_user_logged_in()){ switch ($_GET['hsl_callback']) { case 'naver': if (!class_exists('NaverOAuth')) { require_once dirname(__FILE__) . '/class.naveroauth.php'; } @session_start(); //print_r($_SESSION); $connection = new NaverOAuth($consumer_key, $consumer_secret, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); //print_r($connection); $access_token = $connection->getAccessToken($_GET['oauth_verifier']); $user_profile = $connection->get_user_profile(); if (isset($user_profile['userID'])) { $this->login($user_profile['userID'], $user_profile['user_email'], $user_profile['nickname'], $user_profile['profImg'], $_GET['hsl_callback']); } die; break; case 'kakao': if (!class_exists('kakaoOAuth')) { require_once dirname(__FILE__) . '/class.kakaooauth.php'; } $code = $_GET['code']; $connection = new KakaoOAuth($consumer_key, $code); $access_token = $connection->getAccessToken(); $user_profile = $connection->get_user_profile($access_token); if (isset($user_profile['userID'])) { $this->login($user_profile['userID'], $user_profile['user_email'], $user_profile['nickname'], $user_profile['profImg'], $_GET['hsl_callback']); } die; break; case 'facebook': if (!class_exists('Facebook')) { require_once dirname(__FILE__) . '/facebook/facebook.php'; } $hotpack_social_login = get_option('hotpack_social_login'); $facebook = new Facebook(array('appId' => $hotpack_social_login['facebook']['consumer_key'], 'secret' => $hotpack_social_login['facebook']['consumer_secret'])); $access_token = $facebook->getAccessToken(); $facebook->setAccessToken($access_token); //$facebook->setExtendedAccessToken();echo 'asdf'; $access_token = $facebook->getAccessToken(); if ($access_token) { $facebook->setAccessToken($access_token); } $facebook->setAccessToken($access_token); $data = $facebook->api('/me'); $user_profile = array('userID' => $data['id'], 'user_email' => 'f-' . $data['email'], 'nickname' => $data['name'], 'profImg' => "https://graph.facebook.com/" . $data['id'] . "/picture?width=150&height=150", 'first_name' => $data['first_name'], 'last_name' => $data['last_name']); if (isset($user_profile['userID'])) { $this->login($user_profile['userID'], $user_profile['user_email'], $user_profile['nickname'], $user_profile['profImg'], $_GET['hsl_callback'], $user_profile['first_name'], $user_profile['last_name']); } die; break; case 'twitter': if (!class_exists('TwitterOAuth')) { require_once dirname(__FILE__) . '/class.twitteroauth.php'; } @session_start(); if (isset($_REQUEST['oauth_verifier'])) { $twitter = new TwitterOAuth($consumer_key, $consumer_secret, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); $access_token = $twitter->accessToken($_GET['oauth_verifier']); $response = $twitter->get('account/verify_credentials.json'); $user_profile = array('userID' => $response->id, 'user_email' => 't-' . $response->screen_name . '@temp.com', 'nickname' => $response->name, 'profImg' => $response->profile_image_url); if (isset($user_profile['userID'])) { $this->login($user_profile['userID'], $user_profile['user_email'], $user_profile['nickname'], $user_profile['profImg'], $_GET['hsl_callback']); } } die; break; case 'google': if (!class_exists('GoogleOAuth')) { require_once dirname(__FILE__) . '/class.googleoauth.php'; } session_start(); $google = new GoogleOAuth($consumer_key, $consumer_secret, home_url('?hsl_callback=google')); $code = array_key_exists('code', $_REQUEST) ? $_REQUEST['code'] : ""; $google->authenticate($code); $response = $google->api("https://www.googleapis.com/plus/v1/people/me"); $user_profile = array('userID' => $response->id, 'user_email' => 'g-' . $response->emails[0]->value, 'nickname' => property_exists($response, 'displayName') ? $response->displayName : "", 'profImg' => property_exists($response, 'image') ? property_exists($response->image, 'url') ? substr($response->image->url, 0, -2) . "200" : '' : '', 'first_name' => $response->name->givenName, 'last_name' => $response->name->familyName); if (isset($user_profile['userID'])) { $this->login($user_profile['userID'], $user_profile['user_email'], $user_profile['nickname'], $user_profile['profImg'], $_GET['hsl_callback'], $user_profile['first_name'], $user_profile['last_name']); } die; break; } } }