Skip to content

Commit c12d9ea

Browse files
committed
Add debug logs
1 parent 40ad962 commit c12d9ea

1 file changed

Lines changed: 60 additions & 0 deletions

File tree

src/plugins/system/caslogin/src/Extension/Caslogin.php

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public function __construct($config)
8383
'system-caslogin-groups',
8484
]
8585
);
86+
Log::add('CAS plugin constructed, plugin enabled', Log::INFO, 'externallogin');
8687
}
8788

8889
/**
@@ -165,7 +166,14 @@ public function onAfterInitialise(): void
165166
$app = Factory::getApplication();
166167
$user = $app->getIdentity();
167168

169+
Log::add(
170+
sprintf('CAS onAfterInitialise: User guest=%s, ID=%d', $user->guest ? 'yes' : 'no', $user->id),
171+
Log::INFO,
172+
'externallogin'
173+
);
174+
168175
if (!$user->guest) {
176+
Log::add('CAS onAfterInitialise: User already logged in, exiting', Log::INFO, 'externallogin');
169177
return;
170178
}
171179

@@ -174,11 +182,26 @@ public function onAfterInitialise(): void
174182
$service = Uri::getInstance();
175183
$ticket = $input->get('ticket');
176184
$serverID = $app->isClient('administrator') ? $input->get('server') : $app->getUserState('com_externallogin.server');
185+
186+
Log::add(
187+
sprintf(
188+
'CAS onAfterInitialise: ticket=%s, serverID=%s, isAdmin=%s, userState=%s',
189+
$ticket ?: 'null',
190+
$serverID ?: 'null',
191+
$app->isClient('administrator') ? 'yes' : 'no',
192+
$app->getUserState('com_externallogin.server') ?: 'null'
193+
),
194+
Log::INFO,
195+
'externallogin'
196+
);
197+
Log::add('CAS onAfterInitialise: Current URL: ' . (string)$service, Log::INFO, 'externallogin');
198+
177199
/** @var MVCFactoryServiceInterface */
178200
$component = $app->bootComponent('com_externallogin');
179201
$mvcFactory = $component->getMVCFactory();
180202

181203
if (!$ticket && !$serverID) {
204+
Log::add('CAS onAfterInitialise: No ticket and no serverID, checking autologin servers...', Log::INFO, 'externallogin');
182205
/** @var ServersModel $model */
183206
$model = $mvcFactory->createModel('Servers', 'Administrator', ['ignore_request' => true]);
184207

@@ -246,6 +269,7 @@ public function onAfterInitialise(): void
246269
}
247270

248271
if (!$ticket && $serverID !== null) {
272+
Log::add('CAS onAfterInitialise: serverID exists but no ticket - autologin failed scenario', Log::INFO, 'externallogin');
249273
/** @var ServerTable|bool $server */
250274
$server = $mvcFactory->createTable('Server', 'Administrator');
251275

@@ -261,16 +285,31 @@ public function onAfterInitialise(): void
261285
}
262286
}
263287

288+
Log::add('CAS onAfterInitialise: Exiting (no ticket)', Log::INFO, 'externallogin');
264289
return;
265290
}
266291

292+
Log::add('CAS onAfterInitialise: Has ticket! Starting ticket validation...', Log::INFO, 'externallogin');
293+
267294
/** @var ServerTable|bool */
268295
$server = $mvcFactory->createTable('Server', 'Administrator');
269296

270297
if (!$server || !$server->load($serverID) || $server->plugin != 'system.caslogin') {
298+
Log::add(
299+
sprintf(
300+
'CAS onAfterInitialise: Server validation failed! server=%s, loaded=%s, plugin=%s',
301+
$server ? 'exists' : 'null',
302+
$server && $server->load($serverID) ? 'yes' : 'no',
303+
$server ? $server->plugin : 'n/a'
304+
),
305+
Log::ERROR,
306+
'externallogin'
307+
);
271308
return;
272309
}
273310

311+
Log::add('CAS onAfterInitialise: Server validated, server #' . $serverID, Log::INFO, 'externallogin');
312+
274313
$params = $server->params;
275314

276315
if ($params->get('log_login', 0)) {
@@ -283,6 +322,8 @@ public function onAfterInitialise(): void
283322
);
284323
}
285324

325+
Log::add('CAS onAfterInitialise: Verifying service ticket with CAS server...', Log::INFO, 'externallogin');
326+
286327
$service->delVar('ticket');
287328
$response = $this->verifyServiceTicket($params, $ticket, $service);
288329

@@ -486,27 +527,46 @@ public function onAfterInitialise(): void
486527
*/
487528
public function onGetLoginUrl(Event $event): void
488529
{
530+
Log::add('CAS onGetLoginUrl method ENTERED!', Log::INFO, 'externallogin');
531+
489532
$server = $event->getArgument('subject');
490533
$service = $event->getArgument('service');
491534

535+
// Debug logging
536+
Log::add('CAS onGetLoginUrl called. Server: ' . ($server ? ('id=' . $server->id . ', plugin=' . $server->plugin) : 'null') . ', Service: ' . ($service ? (string)$service : 'null'), Log::INFO, 'externallogin');
537+
492538
if ($server && $server->plugin == 'system.caslogin') {
539+
Log::add('CAS onGetLoginUrl: Plugin matches, generating URL...', Log::INFO, 'externallogin');
540+
493541
if ($service instanceof Uri) {
494542
$service = (string) $service;
495543
}
496544

497545
$url = $this->getUrl($server->params) . '/login?service=' . urlencode($service);
546+
Log::add('CAS onGetLoginUrl: Base URL: ' . $url, Log::INFO, 'externallogin');
498547

499548
if ($server->params->get('locale')) {
500549
[$locale] = explode('-', Factory::getApplication()->getLanguage()->getTag());
501550
$url .= '&locale=' . $locale;
551+
Log::add('CAS onGetLoginUrl: Added locale: ' . $locale, Log::INFO, 'externallogin');
502552
}
503553

554+
Log::add('CAS onGetLoginUrl: Event class: ' . get_class($event) . ', is ResultAware: ' . ($event instanceof ResultAwareInterface ? 'YES' : 'NO'), Log::INFO, 'externallogin');
555+
504556
if ($event instanceof ResultAwareInterface) {
505557
$event->addResult($url);
558+
Log::add('CAS onGetLoginUrl: Called addResult()', Log::INFO, 'externallogin');
506559
} else {
507560
$event->setArgument('result', $url);
561+
Log::add('CAS onGetLoginUrl: Called setArgument() with array [url]', Log::INFO, 'externallogin');
508562
}
563+
// Debug logging
564+
Log::add('CAS login URL constructed: ' . $url . ' (service: ' . $service . ')', Log::INFO, 'externallogin');
565+
} else {
566+
Log::add('CAS onGetLoginUrl: Plugin does NOT match! Expected system.caslogin, got: ' . ($server ? $server->plugin : 'null'), Log::WARNING, 'externallogin');
509567
}
568+
569+
Log::add('CAS onGetLoginUrl method EXITING', Log::INFO, 'externallogin');
510570
}
511571

512572
/**

0 commit comments

Comments
 (0)