LdapRecord: [Bug] ldap_start_tls(): Unable to start TLS: Local error

Environment:

  • LDAP Server Type: ActiveDirectory
  • LdapRecord-Laravel Major Version: v3
  • PHP Version:8.2
  • Laravel Version:10.30.1
  • Laravel Jetstream:v4.0.5

Describe the bug:

If you enter the wrong password, an error will occur. If you enter the correct password, you can log in successfully. Has TLS/SSL certificate not expired.

This problem started occurring after updating from version 2 to version 3. Version 2 works fine.

[2023-11-01 03:18:58] local.INFO: LDAP (ldap://xxx.xxx.x.xxx:389) - Operation: Binding - Username: CN=aaa,CN=Users,DC=xxx,DC=local  
[2023-11-01 03:18:58] local.INFO: LDAP (ldap://xxx.xxx.x.xxx:389) - Operation: Bound - Username: CN=aaa,CN=Users,DC=xxx,DC=local  
[2023-11-01 03:18:58] local.INFO: LDAP (ldap://xxx.xxx.x.xxx:389) - Operation: Search - Base DN: DC=xxx,DC=local - Filter: (&(objectclass=\74\6f\70)(objectclass=\70\65\72\73\6f\6e)(objectclass=\6f\72\67\61\6e\69\7a\61\74\69\6f\6e\61\6c\70\65\72\73\6f\6e)(objectclass=\75\73\65\72)(samaccountname=\68\73\6b\65\6e\6f\31)(!(objectclass=\63\6f\6d\70\75\74\65\72))) - Selected: (objectguid,*) - Time Elapsed: 24.79  
[2023-11-01 03:18:58] local.DEBUG: User [AAA] has been successfully discovered for authentication.  
[2023-11-01 03:18:58] local.DEBUG: Object with name [AAA] is being synchronized.  
[2023-11-01 03:18:58] local.DEBUG: Object with name [AAA] has been successfully synchronized.  
[2023-11-01 03:18:58] local.DEBUG: User [AAA] is authenticating.  
[2023-11-01 03:18:58] local.INFO: LDAP (ldap://xxx.xxx.x.xxx:389) - Operation: Attempting - Username: CN=AAA,OU=zzz,DC=xxx,DC=local  
[2023-11-01 03:18:58] local.INFO: LDAP (ldap://xxx.xxx.x.xxx:389) - Operation: Binding - Username: CN=AAA,OU=zzz,DC=xxx,DC=local  
[2023-11-01 03:18:58] local.WARNING: LDAP (ldap://xxx.xxx.x.xxx:389) - Operation: Failed - Username: CN=AAA,OU=zzz,DC=xxx,DC=local - Reason: Invalid credentials  
[2023-11-01 03:18:58] local.INFO: LDAP (ldap://xxx.xxx.x.xxx:389) - Operation: Binding - Username: CN=aaa,CN=Users,DC=xxx,DC=local  
[2023-11-01 03:18:58] local.ERROR: ldap_start_tls(): Unable to start TLS: Local error {"exception":"[object] (LdapRecord\\LdapRecordException(code: 2): ldap_start_tls(): Unable to start TLS: Local error at /volume1/web/test/vendor/directorytree/ldaprecord/src/LdapRecordException.php:19)
[stacktrace]
#0 /volume1/web/test/vendor/directorytree/ldaprecord/src/HandlesConnection.php(174): LdapRecord\\LdapRecordException::withDetailedError(Object(ErrorException), Object(LdapRecord\\DetailedError))
DirectoryTree/LdapRecord-Laravel#1 /volume1/web/test/vendor/directorytree/ldaprecord/src/Ldap.php(153): LdapRecord\\Ldap->executeFailableOperation(Object(Closure))
DirectoryTree/LdapRecord-Laravel#2 /volume1/web/test/vendor/directorytree/ldaprecord/src/Auth/Guard.php(84): LdapRecord\\Ldap->startTLS()
DirectoryTree/LdapRecord-Laravel#3 /volume1/web/test/vendor/directorytree/ldaprecord/src/Auth/Guard.php(125): LdapRecord\\Auth\\Guard->bind('CN=aaa,CN...', 'xxxxxxxxx')
DirectoryTree/LdapRecord-Laravel#4 /volume1/web/test/vendor/directorytree/ldaprecord/src/Auth/Guard.php(64): LdapRecord\\Auth\\Guard->bindAsConfiguredUser()
DirectoryTree/LdapRecord-Laravel#5 /volume1/web/test/vendor/directorytree/ldaprecord-laravel/src/LdapUserAuthenticator.php(45): LdapRecord\\Auth\\Guard->attempt('CN=AAA,OU=\\xE7...', 'sfaag')
DirectoryTree/LdapRecord-Laravel#6 [internal function]: LdapRecord\\Laravel\\LdapUserAuthenticator->LdapRecord\\Laravel\\{closure}(Object(LdapRecord\\Models\\ActiveDirectory\\User), 'sfaag')
DirectoryTree/LdapRecord-Laravel#7 /volume1/web/test/vendor/directorytree/ldaprecord-laravel/src/LdapUserAuthenticator.php(75): call_user_func(Object(Closure), Object(LdapRecord\\Models\\ActiveDirectory\\User), 'sfaag')
DirectoryTree/LdapRecord-Laravel#8 /volume1/web/test/vendor/directorytree/ldaprecord-laravel/src/Auth/DatabaseUserProvider.php(187): LdapRecord\\Laravel\\LdapUserAuthenticator->attempt(Object(LdapRecord\\Models\\ActiveDirectory\\User), 'sfaag')
DirectoryTree/LdapRecord-Laravel#9 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(438): LdapRecord\\Laravel\\Auth\\DatabaseUserProvider->validateCredentials(Object(App\\Models\\User), Array)
DirectoryTree/LdapRecord-Laravel#10 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Support/Timebox.php(32): Illuminate\\Auth\\SessionGuard->Illuminate\\Auth\\{closure}(Object(Illuminate\\Support\\Timebox))
DirectoryTree/LdapRecord-Laravel#11 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(437): Illuminate\\Support\\Timebox->call(Object(Closure), 200000)
DirectoryTree/LdapRecord-Laravel#12 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(281): Illuminate\\Auth\\SessionGuard->hasValidCredentials(Object(App\\Models\\User), Array)
DirectoryTree/LdapRecord-Laravel#13 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php(340): Illuminate\\Auth\\SessionGuard->validate(Array)
DirectoryTree/LdapRecord-Laravel#14 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(353): Illuminate\\Auth\\AuthManager->__call('validate', Array)
DirectoryTree/LdapRecord-Laravel#15 /volume1/web/test/app/Providers/AuthServiceProvider.php(29): Illuminate\\Support\\Facades\\Facade::__callStatic('validate', Array)
DirectoryTree/LdapRecord-Laravel#16 [internal function]: App\\Providers\\AuthServiceProvider->App\\Providers\\{closure}(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest))
DirectoryTree/LdapRecord-Laravel#17 /volume1/web/test/vendor/laravel/fortify/src/Actions/AttemptToAuthenticate.php(72): call_user_func(Object(Closure), Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest))
DirectoryTree/LdapRecord-Laravel#18 /volume1/web/test/vendor/laravel/fortify/src/Actions/AttemptToAuthenticate.php(50): Laravel\\Fortify\\Actions\\AttemptToAuthenticate->handleUsingCustomCallback(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest), Object(Closure))
DirectoryTree/LdapRecord-Laravel#19 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Laravel\\Fortify\\Actions\\AttemptToAuthenticate->handle(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest), Object(Closure))
DirectoryTree/LdapRecord-Laravel#20 /volume1/web/test/vendor/laravel/fortify/src/Actions/CanonicalizeUsername.php(23): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest))
DirectoryTree/LdapRecord-Laravel#21 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Laravel\\Fortify\\Actions\\CanonicalizeUsername->handle(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest), Object(Closure))
DirectoryTree/LdapRecord-Laravel#22 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest))
DirectoryTree/LdapRecord-Laravel#23 /volume1/web/test/vendor/laravel/fortify/src/Http/Controllers/AuthenticatedSessionController.php(60): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
DirectoryTree/LdapRecord-Laravel#24 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Laravel\\Fortify\\Http\\Controllers\\AuthenticatedSessionController->store(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest))
DirectoryTree/LdapRecord-Laravel#25 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
DirectoryTree/LdapRecord-Laravel#26 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Laravel\\Fortify\\Http\\Controllers\\AuthenticatedSessionController), 'store')
DirectoryTree/LdapRecord-Laravel#27 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
DirectoryTree/LdapRecord-Laravel#28 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Router.php(799): Illuminate\\Routing\\Route->run()
DirectoryTree/LdapRecord-Laravel#29 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#30 /volume1/web/test/app/Http/Middleware/RedirectIfAuthenticated.php(28): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#31 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\RedirectIfAuthenticated->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'web')
DirectoryTree/LdapRecord-Laravel#32 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#33 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#34 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(159): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#35 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(125): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
DirectoryTree/LdapRecord-Laravel#36 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(87): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter(Object(Illuminate\\Http\\Request), Object(Closure), 'login', Object(Closure))
DirectoryTree/LdapRecord-Laravel#37 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'login')
DirectoryTree/LdapRecord-Laravel#38 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#39 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#40 /volume1/web/test/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#41 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#42 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#43 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
DirectoryTree/LdapRecord-Laravel#44 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#45 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#46 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#47 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#48 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#49 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#50 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Router.php(798): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
DirectoryTree/LdapRecord-Laravel#51 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Router.php(777): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#52 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Router.php(741): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
DirectoryTree/LdapRecord-Laravel#53 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Router.php(730): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#54 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#55 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#56 /volume1/web/test/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#57 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#58 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#59 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#60 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#61 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#62 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#63 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#64 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#65 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#66 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#67 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#68 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#69 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#70 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#71 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#72 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#73 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
DirectoryTree/LdapRecord-Laravel#74 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#75 /volume1/web/test/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#76 {main}

[previous exception] [object] (ErrorException(code: 2): ldap_start_tls(): Unable to start TLS: Local error at /volume1/web/test/vendor/directorytree/ldaprecord/src/Ldap.php:154)
[stacktrace]
#0 [internal function]: LdapRecord\\Ldap->LdapRecord\\{closure}(2, 'ldap_start_tls(...', '/volume1/web/Ne...', 154)
DirectoryTree/LdapRecord-Laravel#1 /volume1/web/test/vendor/directorytree/ldaprecord/src/Ldap.php(154): ldap_start_tls(Object(LDAP\\Connection))
DirectoryTree/LdapRecord-Laravel#2 /volume1/web/test/vendor/directorytree/ldaprecord/src/HandlesConnection.php(161): LdapRecord\\Ldap->LdapRecord\\{closure}()
DirectoryTree/LdapRecord-Laravel#3 /volume1/web/test/vendor/directorytree/ldaprecord/src/Ldap.php(153): LdapRecord\\Ldap->executeFailableOperation(Object(Closure))
DirectoryTree/LdapRecord-Laravel#4 /volume1/web/test/vendor/directorytree/ldaprecord/src/Auth/Guard.php(84): LdapRecord\\Ldap->startTLS()
DirectoryTree/LdapRecord-Laravel#5 /volume1/web/test/vendor/directorytree/ldaprecord/src/Auth/Guard.php(125): LdapRecord\\Auth\\Guard->bind('CN=aaa,CN...', 'xxxxxxxxx')
DirectoryTree/LdapRecord-Laravel#6 /volume1/web/test/vendor/directorytree/ldaprecord/src/Auth/Guard.php(64): LdapRecord\\Auth\\Guard->bindAsConfiguredUser()
DirectoryTree/LdapRecord-Laravel#7 /volume1/web/test/vendor/directorytree/ldaprecord-laravel/src/LdapUserAuthenticator.php(45): LdapRecord\\Auth\\Guard->attempt('CN=AAA,OU=\\xE7...', 'sfaag')
DirectoryTree/LdapRecord-Laravel#8 [internal function]: LdapRecord\\Laravel\\LdapUserAuthenticator->LdapRecord\\Laravel\\{closure}(Object(LdapRecord\\Models\\ActiveDirectory\\User), 'sfaag')
DirectoryTree/LdapRecord-Laravel#9 /volume1/web/test/vendor/directorytree/ldaprecord-laravel/src/LdapUserAuthenticator.php(75): call_user_func(Object(Closure), Object(LdapRecord\\Models\\ActiveDirectory\\User), 'sfaag')
DirectoryTree/LdapRecord-Laravel#10 /volume1/web/test/vendor/directorytree/ldaprecord-laravel/src/Auth/DatabaseUserProvider.php(187): LdapRecord\\Laravel\\LdapUserAuthenticator->attempt(Object(LdapRecord\\Models\\ActiveDirectory\\User), 'sfaag')
DirectoryTree/LdapRecord-Laravel#11 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(438): LdapRecord\\Laravel\\Auth\\DatabaseUserProvider->validateCredentials(Object(App\\Models\\User), Array)
DirectoryTree/LdapRecord-Laravel#12 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Support/Timebox.php(32): Illuminate\\Auth\\SessionGuard->Illuminate\\Auth\\{closure}(Object(Illuminate\\Support\\Timebox))
DirectoryTree/LdapRecord-Laravel#13 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(437): Illuminate\\Support\\Timebox->call(Object(Closure), 200000)
DirectoryTree/LdapRecord-Laravel#14 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(281): Illuminate\\Auth\\SessionGuard->hasValidCredentials(Object(App\\Models\\User), Array)
DirectoryTree/LdapRecord-Laravel#15 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php(340): Illuminate\\Auth\\SessionGuard->validate(Array)
DirectoryTree/LdapRecord-Laravel#16 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(353): Illuminate\\Auth\\AuthManager->__call('validate', Array)
DirectoryTree/LdapRecord-Laravel#17 /volume1/web/test/app/Providers/AuthServiceProvider.php(29): Illuminate\\Support\\Facades\\Facade::__callStatic('validate', Array)
DirectoryTree/LdapRecord-Laravel#18 [internal function]: App\\Providers\\AuthServiceProvider->App\\Providers\\{closure}(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest))
DirectoryTree/LdapRecord-Laravel#19 /volume1/web/test/vendor/laravel/fortify/src/Actions/AttemptToAuthenticate.php(72): call_user_func(Object(Closure), Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest))
DirectoryTree/LdapRecord-Laravel#20 /volume1/web/test/vendor/laravel/fortify/src/Actions/AttemptToAuthenticate.php(50): Laravel\\Fortify\\Actions\\AttemptToAuthenticate->handleUsingCustomCallback(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest), Object(Closure))
DirectoryTree/LdapRecord-Laravel#21 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Laravel\\Fortify\\Actions\\AttemptToAuthenticate->handle(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest), Object(Closure))
DirectoryTree/LdapRecord-Laravel#22 /volume1/web/test/vendor/laravel/fortify/src/Actions/CanonicalizeUsername.php(23): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest))
DirectoryTree/LdapRecord-Laravel#23 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Laravel\\Fortify\\Actions\\CanonicalizeUsername->handle(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest), Object(Closure))
DirectoryTree/LdapRecord-Laravel#24 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest))
DirectoryTree/LdapRecord-Laravel#25 /volume1/web/test/vendor/laravel/fortify/src/Http/Controllers/AuthenticatedSessionController.php(60): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
DirectoryTree/LdapRecord-Laravel#26 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Laravel\\Fortify\\Http\\Controllers\\AuthenticatedSessionController->store(Object(Laravel\\Fortify\\Http\\Requests\\LoginRequest))
DirectoryTree/LdapRecord-Laravel#27 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
DirectoryTree/LdapRecord-Laravel#28 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Laravel\\Fortify\\Http\\Controllers\\AuthenticatedSessionController), 'store')
DirectoryTree/LdapRecord-Laravel#29 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
DirectoryTree/LdapRecord-Laravel#30 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Router.php(799): Illuminate\\Routing\\Route->run()
DirectoryTree/LdapRecord-Laravel#31 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#32 /volume1/web/test/app/Http/Middleware/RedirectIfAuthenticated.php(28): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#33 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\RedirectIfAuthenticated->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'web')
DirectoryTree/LdapRecord-Laravel#34 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#35 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#36 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(159): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#37 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(125): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
DirectoryTree/LdapRecord-Laravel#38 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(87): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter(Object(Illuminate\\Http\\Request), Object(Closure), 'login', Object(Closure))
DirectoryTree/LdapRecord-Laravel#39 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'login')
DirectoryTree/LdapRecord-Laravel#40 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#41 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#42 /volume1/web/test/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#43 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#44 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#45 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
DirectoryTree/LdapRecord-Laravel#46 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#47 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#48 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#49 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#50 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#51 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#52 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Router.php(798): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
DirectoryTree/LdapRecord-Laravel#53 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Router.php(777): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#54 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Router.php(741): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
DirectoryTree/LdapRecord-Laravel#55 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Routing/Router.php(730): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#56 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#57 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#58 /volume1/web/test/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#59 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#60 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#61 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#62 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#63 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#64 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#65 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#66 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#67 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#68 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#69 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#70 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#71 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#72 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#73 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
DirectoryTree/LdapRecord-Laravel#74 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#75 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
DirectoryTree/LdapRecord-Laravel#76 /volume1/web/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#77 /volume1/web/test/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
DirectoryTree/LdapRecord-Laravel#78 {main}
"} 

About this issue

  • Original URL
  • State: closed
  • Created 8 months ago
  • Comments: 20 (8 by maintainers)

Most upvoted comments

Hi @stevebauman Finally i solved inserting my code in a try catch like this

Fortify::authenticateUsing(function ($request) {
    try {
        $validated = Auth::validate([
            'samaccountname' => $request->username,
            'password' => $request->password
        ]);
        return $validated ? Auth::getLastAttempted() : null;

    } catch (\LdapRecord\LdapRecordException $ex) {
        return null;
    }

before, in version 2, i was using a try catch with a generic Throwable exeption

} catch (\Throwable $th) {
    return null;
}