diff --git a/include/class.auth.php b/include/class.auth.php index 9913c43e83cc53ee49ef7ea747a1c4985686340b..0653fa2583a1babdf3d7fb538590ce4ee0018a24 100644 --- a/include/class.auth.php +++ b/include/class.auth.php @@ -132,8 +132,7 @@ abstract class AuthenticationBackend { Signal::send('auth.login.failed', null, $info); } - function singleSignOn(&$errors) { - global $ost; + function processSignOn(&$errors) { foreach (static::allRegistered() as $bk) { // All backends are queried here, even if they don't support diff --git a/scp/login.php b/scp/login.php index 3fb7da41279e7ccecd57388c84029cfbb6b778dd..840716c65deda81e7b87026450ea3bfd6fd51d93 100644 --- a/scp/login.php +++ b/scp/login.php @@ -37,7 +37,7 @@ if($_POST) { } // Consider single sign-on authentication backends else if (!$thisstaff || !($thisstaff->getId() || $thisstaff->isValid())) { - if (($user = StaffAuthenticationBackend::singleSignOn($errors)) + if (($user = StaffAuthenticationBackend::processSignOn($errors)) && ($user instanceof StaffSession)) @header("Location: $dest"); } diff --git a/view.php b/view.php index 28caa20239f3b9ef3722c7172b9a421f194a71da..2398fff5628b9e0f380d38d53304352e650ecf66 100644 --- a/view.php +++ b/view.php @@ -22,7 +22,7 @@ if (!$thisclient || !$thisclient->isValid()) { // Try autologin the user // Authenticated user can be of type ticket owner or collaborator $errors = array(); - $user = UserAuthenticationBackend::singleSignOn($errors); + $user = UserAuthenticationBackend::processSignOn($errors); if ($user && $user->getTicketId()) @header('Location: tickets.php?id='.$user->getTicketId()); }