Syspass: Syspass 3 gives internal error when logging in via LDAP

Created on 30 Aug 2019  路  8Comments  路  Source: nuxsmin/sysPass

sysPass Version
3.0 (305.19020701)

Describe the bug
When logging in with an LDAP user that is not yet created in Syspass you get an internal error message.

To Reproduce
Steps to reproduce the behavior:

  1. Go to syspass login page
  2. Login with ldap account
  3. See internal error message

Expected behavior
Should ask for master password to bind the new ldap user.

Event log
2019-08-30 12:38:52 [EXCEPTION] [N/A] User does not exist

0 /var/www/html/syspass3/lib/SP/Providers/Auth/Database/Database.php(108): SP\Services\User\UserService->getByLogin('inezz')

1 /var/www/html/syspass3/lib/SP/Providers/Auth/Database/Database.php(82): SP\Providers\Auth\Database\Database->authUser()

2 /var/www/html/syspass3/lib/SP/Providers/Auth/AuthProvider.php(167): SP\Providers\Auth\Database\Database->authenticate(Object(SP\DataModel\UserLoginData))

3 /var/www/html/syspass3/lib/SP/Providers/Auth/AuthProvider.php(93): SP\Providers\Auth\AuthProvider->authDatabase()

4 /var/www/html/syspass3/lib/SP/Services/Auth/LoginService.php(146): SP\Providers\Auth\AuthProvider->doAuth(Object(SP\DataModel\UserLoginData))

5 /var/www/html/syspass3/app/modules/web/Controllers/LoginController.php(62): SP\Services\Auth\LoginService->doLogin()

6 [internal function]: SP\Modules\Web\Controllers\LoginController->loginAction()

7 /var/www/html/syspass3/lib/SP/Bootstrap.php(237): call_user_func_array(Array, Array)

8 [internal function]: SP\Bootstrap->SP{closure}(Object(Klein\Request), Object(Klein\Response), Object(Klein\ServiceProvider), Object(Klein\App), Object(Klein\Klein), Object(Klein\DataCollection\RouteCollection), Array)

9 /var/www/html/syspass3/vendor/klein/klein/src/Klein/Klein.php(886): call_user_func(Object(Closure), Object(Klein\Request), Object(Klein\Response), Object(Klein\ServiceProvider), Object(Klein\App), Object(Klein\Klein), Object(Klein\DataCollection\RouteCollection), Array)

10 /var/www/html/syspass3/vendor/klein/klein/src/Klein/Klein.php(588): Klein\Klein->handleRouteCallback(Object(Klein\Route), Object(Klein\DataCollection\RouteCollection), Array)

11 /var/www/html/syspass3/lib/SP/Bootstrap.php(461): Klein\Klein->dispatch(Object(Klein\Request))

12 /var/www/html/syspass3/lib/Base.php(75): SP\Bootstrap::run(Object(DI\Container))

13 /var/www/html/syspass3/index.php(28): require('/var/www/html/s...')

14 {main}

2019-08-30 12:38:52 [EXCEPTION] [N/A] SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null

0 /var/www/html/syspass3/lib/SP/Storage/Database/Database.php(234): PDOStatement->execute()

1 /var/www/html/syspass3/lib/SP/Storage/Database/Database.php(174): SP\Storage\Database\Database->prepareQueryData(Object(SP\Storage\Database\QueryData))

2 /var/www/html/syspass3/lib/SP/Repositories/User/UserRepository.php(476): SP\Storage\Database\Database->doQuery(Object(SP\Storage\Database\QueryData))

3 /var/www/html/syspass3/lib/SP/Services/User/UserService.php(257): SP\Repositories\User\UserRepository->create(Object(SP\DataModel\UserData))

4 /var/www/html/syspass3/lib/SP/Services/User/UserService.php(242): SP\Services\User\UserService->create(Object(SP\DataModel\UserData))

5 /var/www/html/syspass3/lib/SP/Services/Auth/LoginService.php(693): SP\Services\User\UserService->createOnLogin(Object(SP\Services\User\UserLoginRequest))

6 /var/www/html/syspass3/lib/SP/Services/Auth/LoginService.php(152): SP\Services\Auth\LoginService->authBrowser(Object(SP\Providers\Auth\Browser\BrowserAuthData))

7 /var/www/html/syspass3/app/modules/web/Controllers/LoginController.php(62): SP\Services\Auth\LoginService->doLogin()

8 [internal function]: SP\Modules\Web\Controllers\LoginController->loginAction()

9 /var/www/html/syspass3/lib/SP/Bootstrap.php(237): call_user_func_array(Array, Array)

10 [internal function]: SP\Bootstrap->SP{closure}(Object(Klein\Request), Object(Klein\Response), Object(Klein\ServiceProvider), Object(Klein\App), Object(Klein\Klein), Object(Klein\DataCollection\RouteCollection), Array)

11 /var/www/html/syspass3/vendor/klein/klein/src/Klein/Klein.php(886): call_user_func(Object(Closure), Object(Klein\Request), Object(Klein\Response), Object(Klein\ServiceProvider), Object(Klein\App), Object(Klein\Klein), Object(Klein\DataCollection\RouteCollection), Array)

12 /var/www/html/syspass3/vendor/klein/klein/src/Klein/Klein.php(588): Klein\Klein->handleRouteCallback(Object(Klein\Route), Object(Klein\DataCollection\RouteCollection), Array)

13 /var/www/html/syspass3/lib/SP/Bootstrap.php(461): Klein\Klein->dispatch(Object(Klein\Request))

14 /var/www/html/syspass3/lib/Base.php(75): SP\Bootstrap::run(Object(DI\Container))

15 /var/www/html/syspass3/index.php(28): require('/var/www/html/s...')

16 {main}

2019-08-30 12:38:52 [EXCEPTION] [N/A] Internal error

0 /var/www/html/syspass3/lib/SP/Services/Auth/LoginService.php(152): SP\Services\Auth\LoginService->authBrowser(Object(SP\Providers\Auth\Browser\BrowserAuthData))

1 /var/www/html/syspass3/app/modules/web/Controllers/LoginController.php(62): SP\Services\Auth\LoginService->doLogin()

2 [internal function]: SP\Modules\Web\Controllers\LoginController->loginAction()

3 /var/www/html/syspass3/lib/SP/Bootstrap.php(237): call_user_func_array(Array, Array)

4 [internal function]: SP\Bootstrap->SP{closure}(Object(Klein\Request), Object(Klein\Response), Object(Klein\ServiceProvider), Object(Klein\App), Object(Klein\Klein), Object(Klein\DataCollection\RouteCollection), Array)

5 /var/www/html/syspass3/vendor/klein/klein/src/Klein/Klein.php(886): call_user_func(Object(Closure), Object(Klein\Request), Object(Klein\Response), Object(Klein\ServiceProvider), Object(Klein\App), Object(Klein\Klein), Object(Klein\DataCollection\RouteCollection), Array)

6 /var/www/html/syspass3/vendor/klein/klein/src/Klein/Klein.php(588): Klein\Klein->handleRouteCallback(Object(Klein\Route), Object(Klein\DataCollection\RouteCollection), Array)

7 /var/www/html/syspass3/lib/SP/Bootstrap.php(461): Klein\Klein->dispatch(Object(Klein\Request))

8 /var/www/html/syspass3/lib/Base.php(75): SP\Bootstrap::run(Object(DI\Container))

9 /var/www/html/syspass3/index.php(28): require('/var/www/html/s...')

10 {main}

2019-08-30 12:38:52 [EXCEPTION] [N/A] (P) Integrity constraint

0 /var/www/html/syspass3/lib/SP/Storage/Database/Database.php(174): SP\Storage\Database\Database->prepareQueryData(Object(SP\Storage\Database\QueryData))

1 /var/www/html/syspass3/lib/SP/Repositories/User/UserRepository.php(476): SP\Storage\Database\Database->doQuery(Object(SP\Storage\Database\QueryData))

2 /var/www/html/syspass3/lib/SP/Services/User/UserService.php(257): SP\Repositories\User\UserRepository->create(Object(SP\DataModel\UserData))

3 /var/www/html/syspass3/lib/SP/Services/User/UserService.php(242): SP\Services\User\UserService->create(Object(SP\DataModel\UserData))

4 /var/www/html/syspass3/lib/SP/Services/Auth/LoginService.php(693): SP\Services\User\UserService->createOnLogin(Object(SP\Services\User\UserLoginRequest))

5 /var/www/html/syspass3/lib/SP/Services/Auth/LoginService.php(152): SP\Services\Auth\LoginService->authBrowser(Object(SP\Providers\Auth\Browser\BrowserAuthData))

6 /var/www/html/syspass3/app/modules/web/Controllers/LoginController.php(62): SP\Services\Auth\LoginService->doLogin()

7 [internal function]: SP\Modules\Web\Controllers\LoginController->loginAction()

8 /var/www/html/syspass3/lib/SP/Bootstrap.php(237): call_user_func_array(Array, Array)

9 [internal function]: SP\Bootstrap->SP{closure}(Object(Klein\Request), Object(Klein\Response), Object(Klein\ServiceProvider), Object(Klein\App), Object(Klein\Klein), Object(Klein\DataCollection\RouteCollection), Array)

10 /var/www/html/syspass3/vendor/klein/klein/src/Klein/Klein.php(886): call_user_func(Object(Closure), Object(Klein\Request), Object(Klein\Response), Object(Klein\ServiceProvider), Object(Klein\App), Object(Klein\Klein), Object(Klein\DataCollection\RouteCollection), Array)

11 /var/www/html/syspass3/vendor/klein/klein/src/Klein/Klein.php(588): Klein\Klein->handleRouteCallback(Object(Klein\Route), Object(Klein\DataCollection\RouteCollection), Array)

12 /var/www/html/syspass3/lib/SP/Bootstrap.php(461): Klein\Klein->dispatch(Object(Klein\Request))

13 /var/www/html/syspass3/lib/Base.php(75): SP\Bootstrap::run(Object(DI\Container))

14 /var/www/html/syspass3/index.php(28): require('/var/www/html/s...')

15 {main}

Platform (please complete the following information):

  • OS: Ubuntu 18.04
  • Browser Chrome
kinquestion v3

All 8 comments

Hello, it seems to be a "Duplicated user login/email" error.

Regards

Hey @nuxsmin,

The logging was wrong so I updated it, please review again.

There is an integrity validation error stating the name is invalid but i checked the name in ad and there is nothing weird about it.

2019-08-30 12:38:52 [EXCEPTION] [N/A] SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null.

Other ad users work fine, so the question is what is triggering this.

Hey @bitking

It's trying to import an LDAP user and fails because the user's name is null. It will check for several LDAP attributes in order to find out the user's name, but if it doesn't succeed, it will fall.

Regards

Hi @nuxsmin

Thanks and I understand from the logging but the case is that the username is not empty so what value exactly is being read and fails so i can get the value recheck and if there is a valid value i can post it here.

fullname or name + sn

These are LDAP related attributes

Ok this is really strange, i made the search base DN more specific and now the user is able to login with ldap and temporary master password.

I cannot explain exactly what was the issue now but im glad it is solved.

Yes, it's weird. It seems that there were 2 users with the same name/email within the LDAP search scope.

Thanks for the feedback!

Was this page helpful?
0 / 5 - 0 ratings