I can easily replicate this issue in Chrome on a test server running main when I log out after navigating to the Acquisitions -> Load MARC Order Records screen.
After logout, quickly close the tab to avoid killing the browser.
There seems to be a series of bad redirects and double escaping going on.
I uncommented
console.debug(`StaffComponent routing to ${routeEvent.url}`);
in Open-ILS/src/eg2/src/app/staff/staff.component.ts and captured the attached console errors when logging out.
Here's an example of a redirect url from the console:
78 StaffComponent routing to /staff/login?routeTo=%2Feg2%2Fen-US%2Fstaff%2Flogin%3FrouteTo%3D%252Feg2%252Fen-US%252Fstaff%252Flogin%253FrouteTo%253D%25252Feg2%25252Fen-US%25252Fstaff%25252Flogin%25253FrouteTo%25253D%2525252Feg2%2525252Fen-US%2525252Fstaff%2525252Flogin%2525253FrouteTo%2525253D%252525252Feg2%252525252Fen-US%252525252Fstaff%252525252Flogin%252525253FrouteTo%252525253D%25252525252Feg2%25252525252Fen-US%25252525252Fstaff%25252525252Flogin%25252525253FrouteTo%25252525253D%2525252525252Feg2%2525252525252Fen-US%2525252525252Fstaff%2525252525252Flogin%2525252525253FrouteTo%2525252525253D%252525252525252Feg2%252525252525252Fen-US%252525252525252Fstaff%252525252525252Flogin%252525252525253FrouteTo%252525252525253D%25252525252525252Feg2%25252525252525252Fen-US%25252525252525252Fstaff%25252525252525252Flogin%25252525252525253FrouteTo%25252525252525253D%2525252525252525252Feg2%2525252525252525252Fen-US%2525252525252525252Fstaff%2525252525252525252Flogin%2525252525252525253FrouteTo%2525252525252525253D%252525252525252525252Feg2%252525252525252525252Fen-US%252525252525252525252Fstaff%252525252525252525252Flogin%252525252525252525253FrouteTo%252525252525252525253D%25252525252525252525252Feg2%25252525252525252525252Fen-US%25252525252525252525252Fstaff%25252525252525252525252Flogin%25252525252525252525253FrouteTo%25252525252525252525253D%2525252525252525252525252Feg2%2525252525252525252525252Fen-US%2525252525252525252525252Fstaff%2525252525252525252525252Flogin%2525252525252525252525253FrouteTo%2525252525252525252525253D%252525252525252525252525252Feg2%252525252525252525252525252Fen-US%252525252525252525252525252Fstaff%252525252525252525252525252Flogin%252525252525252525252525253FrouteTo%252525252525252525252525253D%25252525252525252525252525252Feg2%25252525252525252525252525252Fen-US%25252525252525252525252525252Fstaff%25252525252525252525252525252Flogin%25252525252525252525252525253FrouteTo%25252525252525252525252525253D%2525252525252525252525252525252Feg2%2525252525252525252525252525252Fen-US%2525252525252525252525252525252Fstaff%2525252525252525252525252525252Flogin%2525252525252525252525252525253FrouteTo%2525252525252525252525252525253D%252525252525252525252525252525252Feg2%252525252525252525252525252525252Fen-US%252525252525252525252525252525252Fstaff%252525252525252525252525252525252Flogin%252525252525252525252525252525253FrouteTo%252525252525252525252525252525253D%25252525252525252525252525252525252Feg2%25252525252525252525252525252525252Fen-US%25252525252525252525252525252525252Fstaff%25252525252525252525252525252525252Flogin%25252525252525252525252525252525253FrouteTo%25252525252525252525252525252525253D%2525252525252525252525252525252525252Feg2%2525252525252525252525252525252525252Fen-US%2525252525252525252525252525252525252Fstaff%2525252525252525252525252525252525252Flogin%2525252525252525252525252525252525253FrouteTo%2525252525252525252525252525252525253D%252525252525252525252525252525252525252Feg2%252525252525252525252525252525252525252Fen-US%252525252525252525252525252525252525252Fstaff%252525252525252525252525252525252525252Flogin%252525252525252525252525252525252525253FrouteTo%252525252525252525252525252525252525253D%25252525252525252525252525252525252525252Feg2%25252525252525252525252525252525252525252Fen-US%25252525252525252525252525252525252525252Fstaff%25252525252525252525252525252525252525252Flogin%25252525252525252525252525252525252525253FrouteTo%25252525252525252525252525252525252525253D%2525252525252525252525252525252525252525252Feg2%2525252525252525252525252525252525252525252Fen-US%2525252525252525252525252525252525252525252Fstaff%2525252525252525252525252525252525252525252Flogin%2525252525252525252525252525252525252525253FrouteTo%2525252525252525252525252525252525252525253D%252525252525252525252525252525252525252525252Feg2%252525252525252525252525252525252525252525252Fen-US%252525252525252525252525252525252525252525252Fstaff%252525252525252525252525252525252525252525252Flogin%252525252525252525252525252525252525252525253FrouteTo%252525252525252525252525252525252525252525253D%25252525252525252525252525252525252525252525252Feg2%25252525252525252525252525252525252525252525252Fen-US%25252525252525252525252525252525252525252525252Fstaff%25252525252525252525252525252525252525252525252Flogin%25252525252525252525252525252525252525252525253FrouteTo%25252525252525252525252525252525252525252525253D%2525252525252525252525252525252525252525252525252Feg2%2525252525252525252525252525252525252525252525252Fen-US%2525252525252525252525252525252525252525252525252Fstaff%2525252525252525252525252525252525252525252525252Flogin%2525252525252525252525252525252525252525252525253FrouteTo%2525252525252525252525252525252525252525252525253D%252525252525252525252525252525252525252525252525252Feg2%252525252525252525252525252525252525252525252525252Fen-US%252525252525252525252525252525252525252525252525252Fstaff%252525252525252525252525252525252525252525252525252Flogin%25252525252525252525252525252525252525252525252
Also, server logs show a series of pcrud calls with null authtoken after logout that continue until the browser tab is closed:
I can easily replicate this issue in Chrome on a test server running main when I log out after navigating to the Acquisitions -> Load MARC Order Records screen.
After logout, quickly close the tab to avoid killing the browser.
There seems to be a series of bad redirects and double escaping going on.
I uncommented
console. debug(` StaffComponent routing to ${routeEvent. url}`);
in Open-ILS/ src/eg2/ src/app/ staff/staff. component. ts and captured the attached console errors when logging out.
Here's an example of a redirect url from the console:
78 StaffComponent routing to /staff/ login?routeTo= %2Feg2% 2Fen-US% 2Fstaff% 2Flogin% 3FrouteTo% 3D%252Feg2% 252Fen- US%252Fstaff% 252Flogin% 253FrouteTo% 253D%25252Feg2% 25252Fen- US%25252Fstaff% 25252Flogin% 25253FrouteTo% 25253D% 2525252Feg2% 2525252Fen- US%2525252Fstaf f%2525252Flogin %2525253FrouteT o%2525253D% 252525252Feg2% 252525252Fen- US%252525252Fst aff%252525252Fl ogin%252525253F routeTo% 252525253D% 25252525252Feg2 %25252525252Fen -US%25252525252 Fstaff% 25252525252Flog in%25252525253F routeTo% 25252525253D% 2525252525252Fe g2%252525252525 2Fen-US% 2525252525252Fs taff%2525252525 252Flogin% 2525252525253Fr outeTo% 2525252525253D% 252525252525252 Feg2%2525252525 25252Fen- US%252525252525 252Fstaff% 252525252525252 Flogin% 252525252525253 FrouteTo% 252525252525253 D%2525252525252 5252Feg2% 252525252525252 52Fen-US% 252525252525252 52Fstaff% 252525252525252 52Flogin% 252525252525252 53FrouteTo% 252525252525252 53D%25252525252 52525252Feg2% 252525252525252 5252Fen- US%252525252525 2525252Fstaff% 252525252525252 5252Flogin% 252525252525252 5253FrouteTo% 252525252525252 5253D%252525252 525252525252Feg 2%2525252525252 52525252Fen- US%252525252525 252525252Fstaff %25252525252525 2525252Flogin% 252525252525252 525253FrouteTo% 252525252525252 525253D% 252525252525252 52525252Feg2% 252525252525252 52525252Fen- US%252525252525 25252525252Fsta ff%252525252525 25252525252Flog in%252525252525 25252525253Frou teTo%2525252525 2525252525253D% 252525252525252 5252525252Feg2% 252525252525252 5252525252Fen- US%252525252525 2525252525252Fs taff%2525252525 252525252525252 Flogin% 252525252525252 5252525253Frout eTo%25252525252 52525252525253D %25252525252525 2525252525252Fe g2%252525252525 252525252525252 Fen-US% 252525252525252 525252525252Fst aff%25252525252 525252525252525 2Flogin% 252525252525252 525252525253Fro uteTo%252525252 525252525252525 253D%2525252525 252525252525252 5252Feg2% 252525252525252 52525252525252F en-US%252525252 525252525252525 25252Fstaff% 252525252525252 52525252525252F login%252525252 525252525252525 25253FrouteTo% 252525252525252 52525252525253D %25252525252525 252525252525252 52Feg2% 252525252525252 525252525252525 2Fen-US% 252525252525252 525252525252525 2Fstaff% 252525252525252 525252525252525 2Flogin% 252525252525252 525252525252525 3FrouteTo% 252525252525252 525252525252525 3D%252525252525 252525252525252 525252Feg2% 252525252525252 525252525252525 252Fen- US%252525252525 252525252525252 525252Fstaff% 252525252525252 525252525252525 252Flogin% 252525252525252 525252525252525 253FrouteTo% 252525252525252 525252525252525 253D%2525252525 252525252525252 5252525252Feg2% 252525252525252 525252525252525 25252Fen- US%252525252525 252525252525252 52525252Fstaff% 252525252525252 525252525252525 25252Flogin% 252525252525252 525252525252525 25253FrouteTo% 252525252525252 525252525252525 25253D% 252525252525252 525252525252525 2525252Feg2% 252525252525252 525252525252525 2525252Fen- US%252525252525 252525252525252 5252525252Fstaf f%2525252525252 525252525252525 252525252Flogin %25252525252525 252525252525252 52525253FrouteT o%2525252525252 525252525252525 252525253D% 252525252525252 525252525252525 252525252Feg2% 252525252525252 525252525252525 252525252Fen- US%252525252525 252525252525252 525252525252Fst aff%25252525252 525252525252525 2525252525252Fl ogin%2525252525 252525252525252 52525252525253F routeTo% 252525252525252 525252525252525 252525253D% 252525252525252 525252525252525 25252525252Feg2 %25252525252525 252525252525252 525252525252Fen -US%25252525252 525252525252525 252525252525252 Fstaff% 252525252525252 525252525252525 25252525252Flog in%252525252525 252525252525252 52525252525253F routeTo% 252525252525252 525252525252525 25252525253D% 252525252525252 525252525252525 2525252525252Fe g2%252525252525 252525252525252 525252525252525 2Fen-US% 252525252525252 525252525252525 2525252525252Fs taff%2525252525 252525252525252 525252525252525 252Flogin% 252525252525252 525252525252525 2525252525253Fr outeTo% 252525252525252 525252525252525 2525252525253D% 252525252525252 525252525252525 252525252525252 Feg2%2525252525 252525252525252 525252525252525 25252Fen- US%252525252525 252525252525252 525252525252525 252Fstaff% 252525252525252 525252525252525 252525252525252 Flogin% 252525252525252 525252525252525 252525252525253 FrouteTo% 252525252525252 525252525252525 252525252525253 D%2525252525252 525252525252525 252525252525252 5252Feg2% 252525252525252 525252525252525 252525252525252 52Fen-US% 252525252525252 525252525252525 252525252525252 52Fstaff% 252525252525252 525252525252525 252525252525252 52Flogin% 252525252525252 525252525252525 252525252525252 53FrouteTo% 252525252525252 525252525252525 252525252525252 53D%25252525252 525252525252525 252525252525252 52525252Feg2% 252525252525252 525252525252525 252525252525252 5252Fen- US%252525252525 252525252525252 525252525252525 2525252Fstaff% 252525252525252 525252525252525 252525252525252 5252Flogin% 252525252525252 525252525252525 252525252525252 5253FrouteTo% 252525252525252 525252525252525 252525252525252 5253D%252525252 525252525252525 252525252525252 525252525252Feg 2%2525252525252 525252525252525 252525252525252 52525252Fen- US%252525252525 252525252525252 525252525252525 252525252Fstaff %25252525252525 252525252525252 525252525252525 2525252Flogin% 252525252525252 525252525252525 252525252525252 52
Also, server logs show a series of pcrud calls with null authtoken after logout that continue until the browser tab is closed:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:200438: osrf_applicatio n.c:1084: 169418489320559 821] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l "9f061a8c88c685 b0b74ffcc81af7f 21f",{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 823] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 824] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 825] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 826] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 827] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 828] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 829] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 830] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 831] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 832] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 833] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 834] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 835] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 836] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 837] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 838] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 839] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 840] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 841] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 842] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 843] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null osrf_applicatio n.c:1084: 169418489320559 844] CALL: open-ils.pcrud open-ils. pcrud.search. i18n_l null,{" code":[ "en-US" ]},null
open-ils.pcrud 2023-09-08 10:56:33 [INFO:198489:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:198155:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:200438:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:198489:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:198155:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:200438:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:198489:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:198155:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:200438:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:198489:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:198155:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:200438:
open-ils.pcrud 2023-09-08 10:56:33 [INFO:198489:
open-ils.pcrud 2023-09-08 10:56:34 [INFO:198155:
open-ils.pcrud 2023-09-08 10:56:34 [INFO:200438:
open-ils.pcrud 2023-09-08 10:56:34 [INFO:198489:
open-ils.pcrud 2023-09-08 10:56:34 [INFO:198155:
open-ils.pcrud 2023-09-08 10:56:34 [INFO:200438:
open-ils.pcrud 2023-09-08 10:56:34 [INFO:198489:
open-ils.pcrud 2023-09-08 10:56:34 [INFO:198155:
open-ils.pcrud 2023-09-08 10:56:34 [INFO:200438:
open-ils.pcrud 2023-09-08 10:56:34 [INFO:198489:
Hoping this helps to pinpoint the issue. Any available eyes appreciated!