From: Elisha Oren Date: Wed, 8 Mar 2017 13:00:51 +0000 (+0200) Subject: Use localStorage instead of sessionStorage X-Git-Tag: release/carbon~4 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F01%2F53001%2F1;p=dlux.git Use localStorage instead of sessionStorage This is mainly to prevent the use of login on every tab Change-Id: I79cfe73f45294b7e82a5e3c9332ef1dcc8cdbec7 Signed-off-by: Elisha Oren --- diff --git a/modules/common-authentication-resources/src/main/resources/authentification/auth.services.js b/modules/common-authentication-resources/src/main/resources/authentification/auth.services.js index 3a100a99..da07de2d 100644 --- a/modules/common-authentication-resources/src/main/resources/authentification/auth.services.js +++ b/modules/common-authentication-resources/src/main/resources/authentification/auth.services.js @@ -13,21 +13,31 @@ define([], function () { var factory = {}; // Set Authorization header to username + password factory.setBasic = function (user, pw) { + $window.localStorage.odlUser = user; + $window.localStorage.odlPass = pw; + // for backward compatibility $window.sessionStorage.odlUser = user; $window.sessionStorage.odlPass = pw; }; + + // for backward compatibility + if ($window.localStorage.odlUser && $window.localStorage.odlPass) { + $window.sessionStorage.odlUser = $window.localStorage.odlUser; + $window.sessionStorage.odlPass = $window.localStorage.odlPass; + } factory.unsetBasic = function () { if ($http.defaults.headers.common.Authorization !== null) { delete $http.defaults.headers.common.Authorization; } + $window.localStorage.clear(); $window.sessionStorage.clear(); document.cookie = 'JSESSIONID=; Path=/restconf; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; }; // Return the current user object factory.getUser = function () { - var user = $window.sessionStorage.odlUser || null; + var user = $window.localStorage.odlUser || null; return user; }; @@ -166,8 +176,8 @@ define([], function () { // Use AAA basic authentication if (config.url.indexOf('restconf') !== -1 || config.url.indexOf('apidoc') !== -1) { config.headers = config.headers || {}; - if ($window.sessionStorage.odlUser && $window.sessionStorage.odlPass) { - var encoded = Base64.encode($window.sessionStorage.odlUser + ':' + $window.sessionStorage.odlPass); + if ($window.localStorage.odlUser && $window.localStorage.odlPass) { + var encoded = Base64.encode($window.localStorage.odlUser + ':' + $window.localStorage.odlPass); config.headers.Authorization = 'Basic ' + encoded; } } diff --git a/modules/common-authentication-resources/src/main/resources/authentification/auth.spec.js b/modules/common-authentication-resources/src/main/resources/authentification/auth.spec.js index c75b7691..911b56cf 100644 --- a/modules/common-authentication-resources/src/main/resources/authentification/auth.spec.js +++ b/modules/common-authentication-resources/src/main/resources/authentification/auth.spec.js @@ -31,19 +31,19 @@ define(['common/authentification/auth.module'], function () { it('Should set the basic authenticate header', function () { _Auth.setBasic(username, password); - expect(_window.sessionStorage.odlUser).toBeDefined(); - expect(_window.sessionStorage.odlUser).toEqual(username); + expect(_window.localStorage.odlUser).toBeDefined(); + expect(_window.localStorage.odlUser).toEqual(username); - expect(_window.sessionStorage.odlPass).toBeDefined(); - expect(_window.sessionStorage.odlPass).toEqual(password); + expect(_window.localStorage.odlPass).toBeDefined(); + expect(_window.localStorage.odlPass).toEqual(password); }); it('Should unset the basic authenticate header', inject(function ($http) { _Auth.setBasic(username, password); _Auth.unsetBasic(); - expect(_window.sessionStorage.odlUser).toBeUndefined(); - expect(_window.sessionStorage.odlPass).toBeUndefined(); + expect(_window.localStorage.odlUser).toBeUndefined(); + expect(_window.localStorage.odlPass).toBeUndefined(); expect($http.defaults.headers.common.Authorization).toBeUndefined(); })); });