mirror of
https://github.com/Xevion/banner.git
synced 2025-12-09 16:06:32 -06:00
1.6 KiB
1.6 KiB
Sessions
All notes on the internal workings of Sessions in the Banner system.
- Sessions are generated on demand with a random string of characters.
- Sessions are invalidated after 30 minutes, but may change.
- This delay can be found in the original HTML returned, find
meta[name="maxInactiveInterval"]and read thecontentattribute. - This is read at runtime by the javascript on initialization.
- This delay can be found in the original HTML returned, find
- Multiple timers exist, one is for the Inactivity Timer.
- A dialog will appear asking the user to continue their session.
- If they click the button, the session will be extended via the keepAliveURL (see
meta[name="keepAliveURL"]). - The
keepAliveURLdoes not seem to care whether the session is or was ever valid, it will always return a 200 OK withI am Aliveas the content.
- When searching with an invalid session (or none at all, as the case may be), the server will return 200 OK, but with an empty result response structure.
-
{ "success": true, "totalCount": 0, "data": null, // always an array, even if empty "pageOffset": 0, // "pageMaxSize": 10, "sectionsFetchedCount": 0, "pathMode": "registration", // normally "search" "searchResultsConfigs": null, // normally an array "ztcEncodedImage": null // normally a static string in base64 }
-
- This is only the handling for the search endpoint, more research is required to see how other endpoints handle invalid/expired sessions.
- TODO: How is `pathMode` affected by an expired session, rather than an invalid/non-existent one?