-
-
Notifications
You must be signed in to change notification settings - Fork 190
Description
Is there an existing issue for this?
- I have searched the existing issues
Environment
- OS: CentOS 9 Stream
- PHP: 8.4.15
- LDAP Server: 389-ds 2.7.0PLA Code
Github release download
PLA Version
2.3.8
Current Behavior
TypeError - Internal Server Error
LdapRecord\Models\OpenLDAP\User::getAuthIdentifier(): Return value must be of type string, null returned
PHP 8.4.15
Laravel 12.44.0
int9445-c9.mydomain.com:9389
Stack Trace
0 - vendor/directorytree/ldaprecord/src/Models/OpenLDAP/User.php:40
1 - vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php:549
2 - vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php:422
3 - vendor/laravel/framework/src/Illuminate/Support/Timebox.php:34
4 - vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php:411
5 - app/Http/Controllers/Auth/LoginController.php:67
6 - vendor/laravel/ui/auth-backend/AuthenticatesUsers.php:46
7 - vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
8 - vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
9 - vendor/laravel/framework/src/Illuminate/Routing/Route.php:265
10 - vendor/laravel/framework/src/Illuminate/Routing/Route.php:211
11 - vendor/laravel/framework/src/Illuminate/Routing/Router.php:822
12 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
13 - vendor/laravel/framework/src/Illuminate/Auth/Middleware/RedirectIfAuthenticated.php:35
14 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
15 - app/Http/Middleware/CheckUpdate.php:28
16 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
17 - app/Http/Middleware/ViewVariables.php:28
18 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
19 - app/Http/Middleware/SwapinAuthUser.php:49
20 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
21 - app/Http/Middleware/AllowAnonymous.php:26
22 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
23 - app/Http/Middleware/AcceptLanguage.php:23
24 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
25 - vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:50
26 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
27 - vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:87
28 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
29 - vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:48
30 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
31 - vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:120
32 - vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:63
33 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
34 - vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:36
35 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
36 - vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:74
37 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
38 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:137
39 - vendor/laravel/framework/src/Illuminate/Routing/Router.php:821
40 - vendor/laravel/framework/src/Illuminate/Routing/Router.php:800
41 - vendor/laravel/framework/src/Illuminate/Routing/Router.php:764
42 - vendor/laravel/framework/src/Illuminate/Routing/Router.php:753
43 - vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:200
44 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
45 - vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21
46 - vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php:31
47 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
48 - vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21
49 - vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php:51
50 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
51 - vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php:27
52 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
53 - vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php:109
54 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
55 - vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php:48
56 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
57 - vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php:58
58 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
59 - vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php:22
60 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
61 - vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php:26
62 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
63 - vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:137
64 - vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:175
65 - vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:144
66 - vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1220
67 - public/index.php:17
Request
POST /login
Headers
- priority: u=0, i
- sec-fetch-user: ?1
- sec-fetch-site: same-origin
- sec-fetch-mode: navigate
- sec-fetch-dest: document
- upgrade-insecure-requests: 1
- cookie: apt.uid=AP-YFGMCGUNNIFB-2-1750157937584-66771845.0.2.6b933aba-006b-4c12-b4b5-a0ddc2adfcf4; ajs_user_id=a10ecf5c87e572ea10eee4bc1dd56b2655f66841; ajs_anonymous_id=591617e0-411b-477a-adf7-4b79bfc82d49; _ga_0C4M1PWYZ7=GS2.1.s1767091792$o48$g0$t1767091792$j60$l0$h0; _ga=GA1.1.1178618371.1726559205; _ga_T11SF3WXX2=GS2.1.s1767091792$o48$g0$t1767091792$j60$l0$h0; _ga_K2SPJK2C73=GS2.1.s1767091792$o48$g0$t1767091792$j60$l0$h0; _ga_1VMHX9T4XD=GS1.1.1737026745.1.0.1737026748.0.0.907983423; _ga_Z1385HBR0P=GS1.1.1737026745.1.0.1737026748.0.0.1966311856; eecwcmansess=5f245f845f349acd5d5bf4b42af808ff; laravel_session=eyJpdiI6InE0d0ZZTWtHcXpLSnVWZ1BpaGdaOHc9PSIsInZhbHVlIjoiTGlUL3VXWHVRZUZ0Y3c1aW5RSHdVaktaeUZUQlo2UWxFNHNIUjV1VW53K2hPM213K0xiT1dISENiYmYzSUtTUGJReVBEY2pGYVhWRWN2dXQwTHlRc2l6ajJUL29Beml2TTlIUlNCWFIyenU4T0VyQURVYTZrdU1OMzJvSXhaY1AiLCJtYWMiOiJkZWY3MWYxOGRmZWYwNzg2YmYwMjExNDhkNjU1NzZkYTE3ZDMyMmM0ZjJlMmEwMTFjMzk5Yzc0OGVlN2FkOTU3IiwidGFnIjoiIn0%3D; XSRF-TOKEN=eyJpdiI6InNEQ0JVY3BvQ3dMTEM5TTlBcnJ4cFE9PSIsInZhbHVlIjoiYm1IOThjWkVhbTEvU3dCUkliWTMvdmdCbmo3SDhUZE1CbWViNU9tYTF2amErV1FsWlRhc2FJdXE2T25XSjYzYjBWRGQ1QW5mTVFPNmUwUndNNXlNcGZKc2NYdTJ2cVh5RE9LdUNmcjFvQTV0eC9NZVFWYW95RlRrdHgvckVGUUgiLCJtYWMiOiI5NzM3YjI5M2JkZjFmMGZmNWFiODgwNWQ5YzM0Y2ZmZDY1YTI1MzA0NzBkN2E1ODU4NjZjYWZiMjc4NzY1MzRlIiwidGFnIjoiIn0%3D; PYEGkcE7oMWmfnNFAWlghxGK1s9rHOYkIDsX8UGZ=eyJpdiI6InZNbkZCcHRqUC9VVUxjVy9VLzRIL0E9PSIsInZhbHVlIjoiV0tuQjhDRGlzOWU3UzdyODcrUnBDQ0dZcTV6T2d6ckh5MkIzVTduVXorSU01VlpFaVZ3Ym1QZ2xNbDJnZjhobVFkMWIyZGUrMTRqQm9CUXE2S2NhNVpQaFVwV1B3Nk5jeHdhcHhnd2pEZ2VqRE82ZzRLTy9SS2JRQjQ1YXVOL0I5eGlQQ251TU1oZExXMkRxakQ0am5HMVUvSk0yZ3lqa3JSb3FTMDVxSGNUcDlibVpTcWpZSm5rb2dibzN3cHVGYTZuT2NXNGlsWWZkUzVsZHVONWNKdkh6N1p6WDhRK3YzbXNrdVJOTTVuUnpEcTNUc01vcUhaOUJSOU9VQ25kemZVL3JhdWhsQU5pUlpQakxoa1l4dXRCNzh6WlI1UXFrb0JoMW05RGlPVDhWVGtjSEtTc2FrNkxGWXZSd1VVSkkzNzJ6aSsrK1BVa2hHS2pjb01kTjk5VjMvY0FEUHlBdHpXYnBySmFLRjJzMFl2WGMzWDk4dGVSKy96d0NUdWtETE43VU5semxiTGJXZ3RCcU1BSWE2YXd0SWNMcUxnank2d0ErRTI0ZHh5bGxkVk5namhUckFJd3JOMDY1S25kbyIsIm1hYyI6IjY1M2JkNTcxOWNhNDY0NzdmOWJiYjE0OGUxNWU2ZjdhZjhmMTAxYTM2MDBmM2M1NjYzYzI3MzQ3NTE0NTk1ZTMiLCJ0YWciOiIifQ%3D%3D
- connection: close
- dnt: 1
- origin: https://int9445-c9.mydomain.com:9389
- content-length: 93
- content-type: application/x-www-form-urlencoded
- referer: https://int9445-c9.mydomain.com:9389/login
- accept-encoding: gzip, deflate, br, zstd
- accept-language: en-US,en;q=0.7,sr;q=0.3
- accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
- user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0
- host: int9445-c9.mydomain.com:9389
Route Context
controller: App\Http\Controllers\Auth\LoginController@login
middleware: web, guest
Route Parameters
No route parameter data available.
Database Queries
No database queries detected.
Expected Behavior
After login (successful) to continue with LDAP operations.
Steps To Reproduce
Anonymous bind is disabled
Relevant log output
From laravel log:
[2026-01-06 12:43:39] production.INFO: User [Predrag Zecevic] has been successfully discovered for authentication.
[2026-01-06 12:43:39] production.INFO: User [Predrag Zecevic] is authenticating.
[2026-01-06 12:43:39] production.INFO: ALG:Attempting login for [cn=Predrag Zecevic,ou=People,dc=mydomain,dc=com] with password [****************]
[2026-01-06 12:43:39] production.INFO: LDAP (ldaps://int9445-c9.mydomain.com:636) - Operation: Attempting - Username: cn=Predrag Zecevic,ou=People,dc=mydomain,dc=com
[2026-01-06 12:43:39] production.INFO: LDAP (ldaps://int9445-c9.mydomain.com:636) - Operation: Binding - Username: cn=Predrag Zecevic,ou=People,dc=mydomain,dc=com
[2026-01-06 12:43:39] production.INFO: LDAP (ldaps://int9445-c9.mydomain.com:636) - Operation: Bound - Username: cn=Predrag Zecevic,ou=People,dc=mydomain,dc=com
[2026-01-06 12:43:39] production.INFO: LDAP (ldaps://int9445-c9.mydomain.com:636) - Operation: Passed - Username: cn=Predrag Zecevic,ou=People,dc=mydomain,dc=com
[2026-01-06 12:43:39] production.INFO: LDAP (ldaps://int9445-c9.mydomain.com:636) - Operation: Binding - Username:
[2026-01-06 12:43:39] production.INFO: LDAP (ldaps://int9445-c9.mydomain.com:636) - Operation: Bound - Username:
[2026-01-06 12:43:39] production.INFO: User [Predrag Zecevic] has successfully passed LDAP authentication.
[2026-01-06 12:43:39] production.INFO: User [Predrag Zecevic] has successfully authenticated.
So, I am authorized against LDAP, but stuck to /login with errorAnything else?
From Apache access log (if relevant):
[2026-01-06 12:43:23.984] [pid 201:tid 0] int9445-c9.mydomain.com.443 192.168.221.169 - - "GET / HTTP/1.1" 302 215 "https://int9445-c9.mydomain.com:9389/" "Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0" (46%)
[2026-01-06 12:43:24.225] [pid 201:tid 0] int9445-c9.mydomain.com.443 192.168.221.169 - - "GET /login HTTP/1.1" 200 1756 "https://int9445-c9.mydomain.com:9389/" "Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0" (37%)
[2026-01-06 12:43:39.147] [pid 201:tid 1] int9445-c9.mydomain.com.443 192.168.221.169 - - "POST /login HTTP/1.1" 500 215147 "https://int9445-c9.mydomain.com:9389/login" "Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0" (11%)
And most annoying is LDAP password is visible on that error page!
Body
{
"_token": "rdxPTVtl9l5Qo9hWocXAjjNdYOnqNx5ZciuRosPo",
"uid": "predrag_zecevic",
"password": "My.Password.Is.Visible here!"
}
Regards.