@@ -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