Prompt users to log into Galaxy if they have never done so before.
Summary of Changes
Users that have never logged into Galaxy, but try to log into the Dashboard will be prompted to log into Galaxy with a popup dialog that links them to the configured Galaxy instance. The dashboard monitors for the login by attempting to fetch that user until the user logs in properly to Galaxy. Afterwards, they are logged into the Dashboard. There's a cancel button on this dialog that cancels the login process entirely. This is a one time only process, which makes it difficult to test. I tested it locally using KeyCloak, and it works as expected for me there. Unfortunately, it's difficult to test via Calvera, unless someone has an unused ucams/xcams account. I tried disconnecting my pingfed account from Galaxy via User Menu -> Preferences -> Manage External Identities -> Disconnect "provider name"
. But unfortunately, this does not work once I try to log in again.
Side note, we should enable username/password login for this specific scenario @35y. At the moment if perhaps a user accidentally disconnects their ucams/xcams from their account, they are unable to log into Galaxy again (see above screenshot), unless perhaps we delete the entire user and email from the database, which would lose their work. If we re-enabled username/password login for this specific scenario, then we could at least reset their password as admins, and they could log into their account using that temporary password and then reconnect their ucams/xcams.
Checklist
-
The MR has a clear and concise title -
Code is self-documented and follows style guidelines. -
Automated tests are written and pass successfully. -
Regression tests (e.g. manually triggered system tests, manual GUI/tool tests, ...) are performed to make sure the MR does not break anything (when applicable) -
Readme file is present and up-to-date.
Documentation Updates
Additional Notes
Closes #9 (closed)