/** * Authenticate Shibboleth User. * * @param string $adusername The campus AD Username * * @return bool * * @api */ public function authenticateShibbolethUser(string $adusername = null) : bool { $adusername = null === $adusername ? $this->getProperty('adusername') : $adusername; $this->validateUsername($adusername) ?: requestRoute(Config::REDIRECT_LOGIN . 'index.php?v=' . $this->encryption->numHash(4, 'encrypt') . ';'); $data = $this->dbh->getEmailAddress($adusername)->getRecord(); if (1 === $data['record_count']) { $this->setProperty('email', trim($data['email'])); return true; } else { $this->dbh->insertiNetRecordLog($adusername, '-- Login Error: Email from given adusername not found in personnel database.(ADUSERNAME)'); return false; } }