- on auth/logout ensure the iframe is removed instead of waiting for the timer
- solution probably over implemented, but wanted to ensure timer is also cleared on logout
- Fixed display of guide text given brand new changes to setup flow
- Tweaked & expanded guide text
- Hide username field if we're setting in first login mode
- Snuck in a fix for navigating to root of app when logged out
- Use new newUserSetPassword string
- Removed unused USERNAME query param definition
- Tidied up some boolean logic, removed need for lodash fn
- Fixed issue where if a user didn't reset their password (for example due to page refresh) they were stuck in a loop until session times out
- During these tweaks i broke some of the original logic, so fixed. Some of the changes are just different ways of doing the same thing given changes above
Unrelated to PR but whilst in the area...
- Ensure value of mustChangePassword is correct when editing a user
- Added error handling to step 1 of setup
- Setup password text suggests using random password, so start with that selected
- vertical position won't jiggle on toggling password type
- Beef up error message
- Previosuly just showed 'client' or 'server', now show existing error message and one specificaly for 401's
- Clear out loggedOut & timedOut messages on log in attempt (so text doesn't flash up when attempting to log in after a failed attempt)
- Avoid vertical bobble of content when error message is shown/hidden
- Ensure 'log in' button doesn't report success to avoid confusing 'Logged In' and, if login takes a while, 'Log in with Local User' button text (on login success we're changing page with a page 'loading' overlay)
- Much of the grunt work is generic OIDC
Also fixed
- store's principalId was not updated after user enables any auth provider
- Colour of InfoBox title in dark mode
- Issue where some kind of errors when enabling provider were shown as an empty box (exceptionToErrorsArray is now used, which also uses a better catch all stringify)
- An issue where enabling and disabling a provider in the same visit meant lost defaults
- An issue where Auth / Groups would not display (async part had been removed)
- Resource instance validation would show all fields as invalid once one field had failed
- /v3 doesn't exist if multi-cluster-management is disabled
- Use /v1/management.cattle.io.settings everywhere instead of /v3
- It now returns the public set of settings if retrieve with no auth, so
the store needs to remember that even though we loaded "all" of them
that wasn't really ALL of them so that the full list gets loaded after
auth.
- Use new x-api-cattle-auth header to determine authentication state if present
- Use SETTINGS.* constants consistently
- `brand` -> `ui-brand` for consistency
- `eula-accepted=true` -> `eula-agreed=<timestamp>` to match Ember