Hello! I am seeking assistance with an issue related to SAML authentication in the OutSystems Users module. I have been successfully using Auth0 as my Identity Provider (IdP) for over a year without any problems. Recently, I attempted to utilize the External ID field in the System User entity to store a specific identifier each time a user logs in by passing it with an Auth0 claim.
Despite the logs showing the correct passage of the External ID from Auth0 to OutSystems, the System User entity does not store the External ID after login. This issue persists even though other fields are populated correctly without any issues. I have confirmed this behavior with both my personal account and a dedicated test account.
Any advice or guidance would be greatly appreciated!
Thank you in advance for your help!
Andrea
I've resolved the issue and want to share the solution here in case it might help someone in the future.
If you configure SAML authentication for your applications in OutSystems, you'll set up a list of claims to map values from your IdP to OutSystems (in the users module). One of these is the "External ID," which can store an ID from any external application (like a CRM in my case).
However, it's important to note that in the OutSystems User table (under System), there is an "external_id" field which—confusingly—is not where the external ID from your IdP will be stored. Instead, it's stored in a different entity called "SamlUser". You can find this entity under the dependencies in the Users module, under Entities -> Database -> SAML -> SamlUser.
This might clarify some confusion regarding where to look for SAML-related external IDs in OutSystems. I hope this helps others facing similar issues!
Hi Andrea Caselli,
What do you mean when you said
"the System User entity does not store the External ID after login."
which operation are you trying to do in the user system table?
Try to detail more to be able to help you
Regards
Hi @Alexandre Yip ,
Thank you for your response.
I have configured the Users module in OutSystems to authenticate users via SAML, with all user details (name, email, etc.) being provided by Auth0, our IdP, upon login.
All fields in the User entity are correctly populated according to the data provided by Auth0, except for the External_ID field. This particular field is intended to receive a specific identifier via a claim mapped in the Configure Authentication page of the Users module, but it remains empty.
I hope this explanation is clearer. Any thoughts on what might be causing this issue or suggestions on how to resolve it would be greatly appreciated.
Thank you!