// $mailKey = $shibboleth_auth->getShibbolethEmail(); // $commonNameKey = $shibboleth_auth->getShibbolethFirstname(); // $sureNameKey = $shibboleth_auth->getShibbolethLastname(); } if ($_SERVER[$uidKey] != $session->getValue('user_id') or $_SERVER['Shib-Session-ID'] != $session->getSessionID()) { $session->reset(); $session->setSessionID($_SERVER['Shib-Session-ID']); $session->setValue('user_id', $_SERVER[$uidKey]); $session->setValue('shibboleth_auth', '1'); $session->setValue('commsy_id', $environment->getCurrentPortalItem()->getItemID()); // $session->setSessionID($_SERVER['Shib-Session-ID']); $environment->setSessionItem($session); $SID = $session->getSessionID(); $user_manager = $environment->getUserManager(); $user_item = $user_manager->getItemByUserIDAuthSourceID($_SERVER[$uidKey], $shib_auth_source_id); $environment->setCurrentUser($user_item); $session_manager->save($session); } else { // User has a session and is authenticated by shibboleth $user_manager = $environment->getUserManager(); $user_item = $user_manager->getItemByUserIDAuthSourceID($_SERVER[$uidKey], $shib_auth_source_id); $environment->setCurrentUser($user_item); } } else { // Shibboleth Session is empty (session timeout from sp) // reset session and login as guest if (!empty($session)) { if ($session->getValue('shibboleth_auth')) { $session->reset(); $session->createSessionID('guest'); }