Add ORNL specific logic when logging in from NOVA
Summary of Changes
Completes the login flow started here: nova-dashboard!68 (closed)
When a user logs into the NOVA Dashboard, they will automatically be redirected to the OIDC login page for Galaxy/Calvera. Since they're already signed in, it will automatically bypass the login form and redirect back to Galaxy. Galaxy will then redirect them back to the NOVA Dashboard. From the user's perspective, they will have never interacted with Galaxy/Calvera. To do this, this pr checks a cookie that gets set from the dashboard. If it's present, it will redirect to the configured NOVA url after authentication. So, the important config options we'll need to implement in We can change the cookie name storing the dashboard login stuff by setting galaxy.yml for deployment will be the new ornl_nova_redirect_url.ornl_nova_login_origin_cookie, but the default is good for most purposes. The default for this should be fine in pretty much all scenarios (and it has to match the one set in the dashboard).
Note, I also removed the refresh calls in the token verification. With this new flow, those are superfluous. We'll control the refreshing almost entirely in the dashboard now (since when someone logs in the dashboard, the Galaxy token is automatically refreshed).
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 #139 (closed)