Red Hat Bugzilla – Bug 969886
Signing out from Katello does not sign current user from Foreman
Last modified: 2014-01-16 16:16:51 EST
Description of problem:
I've been playing with adding new users and checking if they can login successfully to both Katello and Foreman (SSO enabled) and I noticed that signing out from Katello does not sign current user from Foreman (and vice-versa). I'm not sure if this is by design but imvho this is very confusing to the end user.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Make sure to have at least 2 valid users created via the Katello UI and that one of them is the administrator
2. Login to Katello UI as the admin user
3. Proceed to navigate to Foreman via the Provisioning link (you should be logged in as the same administrator user)
4. Navigate back to Katello via the Content link and log out
5. Immediately login as the other non-administrator user
6. Proceed to navigate to Foreman via the Provisioning link
Once in the Foreman UI you will see that the administrator user is still logged in
Signo should automatically sign out users from both Katello and Foreman
This is intentional. Imagine a situation you work on both systems at the same time. You have filled a form with a lot of inputs in Foreman, then in second tab you logout from Katello. If you switched back to Foreman and submitted a form you'd lost all data from form and you would not even know why. I think that would be more confusing.
I think most or all SSO works like this. E.g. when you use OpenID providers, logging out from one application does not destroy you session on all other systems.
This appears to be a security hardening issue and not a security vulnerability (e.g. there is no need for a CVE/etc.). This issue should probably be fixed as security hardening, my main concern would be if someone finds a CSRF vuln in the product they could then leverage this potentially to gain access/execute commands/etc.
We should also document this to ensure there are no unexpected surprises for end users.
Also should there be a "log out all my sessions" option like I have seen a number of SSO providers give so that people can force a complete log out if they are worried that someone has used this to gain access/etc. (combined with a password change and so on).
Also moving this bug back to being public.
Adding support for logging out user from all systems would currently require one change - sessions would have to be stored on server in Katello. Then Signo could store list of all aplication the user was logged into and then enforce logout. It seems as RFE more than a bug to me. Another way (but looks hackish to me since apps can have some logout hooks) would be just to delete cookies for all apps. This would not require changes in Katello. And this would be another limitation for using same domain for all systems.
Also the question is, where should this "log out all my sessions" option should be? Only in Signo UI which is usually not displayed to end user (just for login form) or in Foreman and Katello? I still find it more confusing :-)
*** Bug 1010042 has been marked as a duplicate of this bug. ***
We can CLOSED:WONTFIX this since Signo is going away with the engificiation of Katello
removing signo component and moving these bugs to 'Infrastructure'