Persistent login and user list across multiple apps

0
We are new to Mendix and want to break a large application created in OutSystems out into multiple apps on Mendix so it's not one monolithic app. However, whenever someone logs in on our site, we don't want them to have to login again if they move from one app on Mendix to another (which from the user perspective would be just opening a different page in the same site).   We are going to use single sign on, however that may change in the future so don't want to depend on the authenticator for this but seeing if there is a way to do this just within Mendix so that if you sign in on one app (no matter how authenticated), how to make this persistent across any other apps that are then opened in the same browser. We do plan on having a shared external database used by all of the apps for the user list, if possible, so that the user lists are not having to be replicated/updated between apps. Has anyone done this already and found a way to get it to work?
asked
1 answers
3

Yes, being automatically logged in is a common requirement I would say. As far as I know, it's not possible to share credentials or sessions across different applications, so I would definitely use SSO. The exact implementation depends on which SSO module you use and if you can manage with a single IdP.

Also Mendix has implemented this themselves in sprintr / cloud / epics.

We use an OIDC module and changed the index.html file such that Mendix knows where to redirect to when not logged in.

The end result is that a user will be redirected several times, but it all happens within a second. Depending on the look-and-feel of the different apps, the experience can be similar as it was a single app.

Did you already implemented SSO? If not: I would recommend OIDC, and adapt your index.html like this to automatically redirect to the default configured IdP:

        document.cookie = "originURI=/oauth/v2/login" + (window.location.protocol === "https:"?";SameSite=None;Secure":"");

 

answered