getFromDB($provider_id)) { Html::displayErrorAndDie(__sso("Provider not found."), true); } if (!$signon_provider->fields['is_active']) { Html::displayErrorAndDie(__sso("Provider not active."), true); } $signon_provider->checkAuthorization(); $test = PluginSinglesignonToolbox::getCallbackParameters('test'); if ($test) { Html::nullHeader("Login", $CFG_GLPI["root_doc"] . '/index.php'); echo '
'; echo "### BEGIN ###\n"; print_r($signon_provider->getResourceOwner()); echo "### END ###"; echo ''; Html::nullFooter(); exit(); } $user_id = Session::getLoginUserID(); $REDIRECT = ""; if ($user_id || $signon_provider->login()) { $user_id = $user_id ?: Session::getLoginUserID(); if ($user_id) { $signon_provider->linkUser($user_id); } $params = PluginSinglesignonToolbox::getCallbackParameters('q'); $url_redirect = ''; if (isset($params['redirect'])) { $REDIRECT = '?redirect=' . $params['redirect']; } else if (isset($_GET['state']) && is_integer(strpos($_GET['state'], "&redirect="))) { $REDIRECT = '?' . substr($_GET['state'], strpos($_GET['state'], "&redirect=") + 1); } if ($_SESSION["glpiactiveprofile"]["interface"] == "helpdesk") { if ($_SESSION['glpiactiveprofile']['create_ticket_on_login'] && empty($REDIRECT)) { $url_redirect = $CFG_GLPI['root_doc'] . "/front/helpdesk.public.php?create_ticket=1"; } else { $url_redirect = $CFG_GLPI['root_doc'] . "/front/helpdesk.public.php$REDIRECT"; } } else { if ($_SESSION['glpiactiveprofile']['create_ticket_on_login'] && empty($REDIRECT)) { $url_redirect = $CFG_GLPI['root_doc'] . "/front/ticket.form.php"; } else { $url_redirect = $CFG_GLPI['root_doc'] . "/front/central.php$REDIRECT"; } } Html::nullHeader("Login", $CFG_GLPI["root_doc"] . '/index.php'); echo ''; Html::nullFooter(); exit(); } // we have done at least a good login? No, we exit. Html::nullHeader("Login", $CFG_GLPI["root_doc"] . '/index.php'); echo '