UI OIDC auth type saved in localStorage not sessionStorage (#16170)

* Remove new instances of sessionStorage after localStorage change

* Add changelog
This commit is contained in:
Chelsea Shaw 2022-06-28 12:04:24 -05:00 committed by GitHub
parent 75eedf1b97
commit 29cae725ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 8 deletions

3
changelog/16170.txt Normal file
View File

@ -0,0 +1,3 @@
```release-note:bug
ui: OIDC login type uses localStorage instead of sessionStorage
```

View File

@ -377,8 +377,8 @@ export default Service.extend({
},
async authSuccess(options, response) {
// persist selectedAuth to sessionStorage to rehydrate auth form on logout
sessionStorage.setItem('selectedAuth', options.selectedAuth);
// persist selectedAuth to localStorage to rehydrate auth form on logout
localStorage.setItem('selectedAuth', options.selectedAuth);
const authData = await this.persistAuthData(options, response, this.namespaceService.path);
await this.permissions.getPaths.perform();
return authData;
@ -397,8 +397,8 @@ export default Service.extend({
},
getAuthType() {
// check sessionStorage first
const selectedAuth = sessionStorage.getItem('selectedAuth');
// check localStorage first
const selectedAuth = localStorage.getItem('selectedAuth');
if (selectedAuth) return selectedAuth;
// fallback to authData which discerns backend type from token
return this.authData ? this.authData.backend.type : null;

View File

@ -19,7 +19,7 @@ module('Acceptance | oidc auth method', function (hooks) {
auth: { client_token: 'root' },
}));
// ensure clean state
sessionStorage.removeItem('selectedAuth');
localStorage.removeItem('selectedAuth');
});
hooks.afterEach(function () {
this.openStub.restore();

View File

@ -16,7 +16,7 @@ export default create({
await this.logout();
await settled();
// clear session storage to ensure we have a clean state
window.sessionStorage.clear();
window.localStorage.clear();
await this.visit({ with: 'token' });
await settled();
if (token) {
@ -31,8 +31,8 @@ export default create({
// make sure we're always logged out and logged back in
await this.logout();
await settled();
// clear session storage to ensure we have a clean state
window.sessionStorage.clear();
// clear local storage to ensure we have a clean state
window.localStorage.clear();
await this.visit({ with: 'username' });
await settled();
await this.usernameInput(username);