I have multiple Entities with different roles, and not just User how can I join my other entities to the default login page of outsystems so i can authenticate other entities to login page
Hi Christian,
You can change the login query to whatever you need. You just have to make sure that the user exists in the Users entity and that you use the User_Login function to create the User Session.
Can you explain exactly what you are trying to build?
Kind regards,
Remco Dekkinga
What I mean is how will I authenticate another entity on login page that was provided by outsystems.The only way I see is Either I make my own login page and my own server to somehow authenticate the user.I have tried editing the e space but I'm having an error. So which one is the better way, making my own login or just edit the e space when the login logic is.
With the OutSystems Platform it is mandatory to use the Users entity and the User_Login action for authentication of Users, because the license structure of the OutSystems Platform is based on number of users.
In order to login users which need to be authenticated via an external service, you can call the external service, authenticate the user there and return the username of that specific user.
When this username is returned to OutSystems, you can CreateOrUpdate the Users table with this username and use the UserId from OutSystems to login (without password)
For external databases / different entities, you can do the authentication in Outsystems by hand and then also create a copy of the user in the Users entity.
Hi Remco,
We have OKTA authentication using OpenID connect specification. Without using OutSystems User table can we build custom User management framework and session management in OutSystems application?
Regards,
Nitin
Hi Nitin,
Even though my answer is 3 years old. The license structure of OutSystems has not changed on this matter.
It is still not allowed to bypass the OutSystems Users management. I know it is possible, but this is the way OutSystems calculates the usage of the platform, and their business model is built around it. When you try to bypass it, it will work in the short run, but you will get in big trouble in the future.
Thank you for quick reply.
So for sustainable solution can we say-
Even though we are authenticating user from external provider we should keep entry in Users table?
If we are getting user roles from external authorization provider still we should use(map external role) User roles created in OutSystems?
Best Regards,
Yes, this is correct. On authentication in the external system, you should get back a Username and role/group. This should be reflected in the OutSystems Users management entities (User, Role and/or Group). When the external authentication is successful, you can use the Users Login (without password) to log the user in to the OutSystems Users mechanism (role + session is set automatically).
Not sure how to call user_login action on screen after external authentication as password is mandatory in user_login action. Keeping it blank or sending as "" gives error as invalid username and password.
OutSystems has changed the location of several actions in the last couple of year.
Preference for security-first implementation is to use the actions from the Users module. When you know exactly what you're doing and understand the security risks, you can use the other two actions too. They will always throw a warning in the TrueChange tab of Service Studio as an extra reminder.
Hope this clarifies your question.