@@ -212,10 +212,34 @@ public function reauthenticate() {
212212 return ;
213213 }
214214
215+ $ accept = (string )$ this ->request ->getHeader ('Accept ' );
216+ $ xRequestedWith = (string )$ this ->request ->getHeader ('X-Requested-With ' );
217+ $ secFetchMode = (string )$ this ->request ->getHeader ('Sec-Fetch-Mode ' );
218+ $ secFetchDest = (string )$ this ->request ->getHeader ('Sec-Fetch-Dest ' );
219+ if (!RequestClassificationService::isTopLevelHtmlNavigation ($ this ->request )) {
220+ $ this ->userSession ->logout ();
221+ $ this ->logger ->debug ('[TokenService] reauthenticate skipped: request is not a top-level HTML navigation ' , [
222+ 'request_uri ' => $ this ->request ->getRequestUri (),
223+ 'accept ' => $ accept ,
224+ 'x_requested_with ' => $ xRequestedWith ,
225+ 'sec_fetch_mode ' => $ secFetchMode ,
226+ 'sec_fetch_dest ' => $ secFetchDest ,
227+ ]);
228+ return ;
229+ }
230+
215231 // Logout the user and redirect to the oidc login flow to gather a fresh token
216232 $ this ->userSession ->logout ();
217233 $ redirectUrl = $ this ->urlGenerator ->getAbsoluteURL ('/index.php/apps/user_oidc/login/ ' . strval ($ token ->getProviderId ()))
218234 . '?redirectUrl= ' . urlencode ($ this ->request ->getRequestUri ());
235+ $ this ->logger ->debug ('[TokenService] reauthenticate redirect ' , [
236+ 'redirect_url ' => $ redirectUrl ,
237+ 'request_uri ' => $ this ->request ->getRequestUri (),
238+ 'accept ' => $ accept ,
239+ 'x_requested_with ' => $ xRequestedWith ,
240+ 'sec_fetch_mode ' => $ secFetchMode ,
241+ 'sec_fetch_dest ' => $ secFetchDest ,
242+ ]);
219243 header ('Location: ' . $ redirectUrl );
220244 exit ();
221245 }
0 commit comments