Skip to content

Multi User

MDK now supports multi-user login capability. This means a MDK app on a device can now securely be shared across multiple users. Capabilities such as adding a new user, switching across user, searching from a list of the user are supported out of the box by the client.

Following needs to be done to enable multi-user support for an app:

  • Enable Multi-User settings - This enables multi user settings at the client side and initialize the constructs required to support multi user.
  • Enable the flag Allow Upload of Pending Changes from Previous User for the app in the mobile services cockpit. In CF this flag is available in Mobile Settings Exchange feature under Shared Devices section. In Neo this flag is available in Client Policies feature under Shared Devices section. This flag ensures that any pending offline changes from previous user are securely uploaded to the service back end. This becomes important when the previous user has not uploaded the offline changes and app is being switched to a new user.

Note

For an existing single user app it is required to rebuild the client with above mentioned setting and enabling the flag in mobile services cockpit. Once the client on a device is updated the user will have to reset the client and re-login before multi-user capability can be enabled.

Along with above mentioned capabilities, here are some more features which can be used while implementing multi-user capabilities:

  • SkipReset flag in Logout action - If set to true the invocation of Logout action will redirect the user to Sign-In screen, by re-entering the passcode user can re-login and can start using the app. In a multi-user scenario each user may want to logout before they hand over the device to a different user. Default value of this flag is false which means the app would be reset clearing stored credentials such as passcode or Touch ID, authentication token, Offline Store. It is recommended to set this flag to true in a multi-user scenario.

  • OnUserSwitch - This event is raised when the user is switched in Multi-User mode and all the pending Offline OData transactions from previous user are successfully synced.

  • isAppInMultiUserMode client API determines if the application is in single or multi user mode. This helps to invoke different action depending on the mode for example Logout action with SkipReset set to true can be invoked in multi-user mode and Logout action with SkipReset set to false can be invoked in single user mode.


Last update: April 14, 2021