Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Requirements

uMobile performs manual session timeout tracking to ensure that an active session is always available.  This logic is designed to prevent the following scenario:

  1. User opens the uMobile app, establishing an authenticated session
  2. uMobile app renders a set of icons based on that user's authenticated layout
  3. User doesn't leave the app, but sets the phone down for some period of time longer than the uMobile server's default timeout
  4. User picks the phone back up and attempts to interact with one of the modules
  5. Because the user no longer has an authenticated session, uPortal automatically initializes a new guest session
  6. Module returns a permissions (or missing content) error because the module isn't in the guest layout, or displays a different (non-customized) data set for the module

To prevent the above, the uMobile's native app tracks the last-accessed time of the session on each request that would touch the server session (establishing the session, interacting with a portlet, etc.).  Each time the app attempts to access a remote portal resource, the native app first checks the last-accessed timestamp.  If the last access was long enough ago that the session is likely expired, the app establishes a new session before executing the request.

Session Tracking Plugin

To support uMobile's session management requirements, the project has developed a custom SessionTracking plugin using the PhoneGap plugin API.  This plugin provides two methods:

  • get: returns the last-accessed timestamp for the current session
  • set: sets the last-accessed timestamp for the current session to the system's current time, then returns that value

Implementation

 

  • No labels