diff --git a/modules/core/www/loginuserpass.php b/modules/core/www/loginuserpass.php index 38cdcc9b48dcddb997ce12b5a6960627dec24ad2..99be03f979fd5537d9d15480635d44229ce2f5d6 100644 --- a/modules/core/www/loginuserpass.php +++ b/modules/core/www/loginuserpass.php @@ -76,7 +76,16 @@ if (!empty($_REQUEST['username']) || !empty($password)) { /* Login failed. Extract error code and parameters, to display the error. */ $errorCode = $e->getErrorCode(); $errorParams = $e->getParameters(); + $state['error']= array( + 'code' => $errorCode, + 'params' => $errorParams + ); + $authStateId = SimpleSAML_Auth_State::saveState($state, sspmod_core_Auth_UserPassBase::STAGEID); + $queryParams = array('AuthState' => $authStateId); } + if (isset($state['error'])){ + unset($state['error']); + } } $globalConfig = SimpleSAML_Configuration::getInstance();