} if ($sign_in) { $user_data = $social->getLinkedinUserInfo($conf['linkedin_key'], $conf['linkedin_secret']); if ($user_data) { if (Docebo::user()->isAnonymous()) { // sign in the user $user = DoceboUser::createDoceboUserFromField('linkedin_id', $user_data['id'], 'public_area'); if ($user) { DoceboUser::setupUser($user); // TODO: save this in a secured cookie $user->preference->setPreference('social.linkedin_key', $_SESSION['user_linkedin_key']); $user->preference->setPreference('social.linkedin_secret', $_SESSION['user_linkedin_secret']); Util::jump_to('index.php?r=lms/elearning/show'); } else { //Util::jump_to('index.php?access_fail=2'); socialConnectLogin($user_data['id'], 'linkedin'); return; } } else { // user is already logged in, so connect the account with user $social->connectAccount('linkedin', $user_data['id']); Util::jump_to('index.php?r=lms/elearning/show'); die; } } else { Util::jump_to('index.php?access_fail=3'); } } else { // !$sign_in Util::jump_to('index.php?access_fail=3'); }
$token = $facebookService->requestAccessToken($_GET['code']); $objUserInfo = json_decode($facebookService->request('/me'), true); if (!empty($objUserInfo["id"])) { if ($_SESSION['fb_from'] == "register") { $_SESSION['fb_info'] = $objUserInfo; Util::jump_to(Get::rel_path('base') . '/index.php?modname=login&op=register'); die; } if (Docebo::user()->isAnonymous()) { // sign in the user $user = DoceboUser::createDoceboUserFromField('facebook_id', $objUserInfo["id"], 'public_area'); if ($user) { DoceboUser::setupUser($user); Util::jump_to('index.php?r=lms/elearning/show'); } else { socialConnectLogin($objUserInfo["id"], 'facebook'); return; } } else { // user is already logged in, so connect the account with user $res = $social->connectAccount('facebook', $objUserInfo["id"]); if ($res == true) { Util::jump_to(_folder_lms_ . '/index.php?' . 'feedback_code=_SOCIALCONNECTOK&feedback_type=inf&feedback_extra=' . $objUserInfo["id"]); } else { Util::jump_to(_folder_lms_ . '/index.php?' . 'feedback_code=_SOCIALCONNECTKO&feedback_type=err&feedback_extra=' . $objUserInfo["id"]); } } } else { // no mail in fields Util::jump_to('index.php?access_fail=4'); }
} else { $openid = new LightOpenID(); $_GET['openid_return_to'] = $_REQUEST['openid_return_to']; // to avoid having & instead of & if ($openid->validate()) { $user_data = $social->getGoogleUserInfo(); if (!empty($user_data['email'])) { if (Docebo::user()->isAnonymous()) { // sign in the user $user = DoceboUser::createDoceboUserFromField('google_id', $user_data['email'], 'public_area'); if ($user) { DoceboUser::setupUser($user); Util::jump_to('index.php?r=lms/elearning/show'); } else { //Util::jump_to('index.php?access_fail=2'); socialConnectLogin($user_data['email'], 'google'); return; } } else { // user is already logged in, so connect the account with user $social->connectAccount('google', $user_data['email']); Util::jump_to('index.php?r=lms/elearning/show'); die; } print_r($user_data); } else { Util::jump_to('index.php?access_fail=2'); } } else { Util::jump_to('index.php?access_fail=3'); }
die; break; // 2. $_REQUEST['code'] -> RETURN OK FROM GOOGLE AUTH // 2. $_REQUEST['code'] -> RETURN OK FROM GOOGLE AUTH case isset($_REQUEST['code']): $token = $googleService->requestAccessToken($_GET['code']); $objUserInfo = json_decode($googleService->request('https://www.googleapis.com/oauth2/v1/userinfo'), true); if (!empty($objUserInfo["email"])) { if (Docebo::user()->isAnonymous()) { // sign in the user $user = DoceboUser::createDoceboUserFromField('google_id', $objUserInfo["email"], 'public_area'); if ($user) { DoceboUser::setupUser($user); Util::jump_to('index.php?r=lms/elearning/show'); } else { socialConnectLogin($objUserInfo["email"], 'google'); return; } } else { // user is already logged in, so connect the account with user $res = $social->connectAccount('google', $objUserInfo["email"]); if ($res == true) { Util::jump_to(_folder_lms_ . '/index.php?' . 'feedback_code=_SOCIALCONNECTOK&feedback_type=inf&feedback_extra=' . $objUserInfo["email"]); } else { Util::jump_to(_folder_lms_ . '/index.php?' . 'feedback_code=_SOCIALCONNECTKO&feedback_type=err&feedback_extra=' . $objUserInfo["email"]); } } } else { // no mail in fields Util::jump_to('index.php?access_fail=4'); }