From e4d025f1a6aec89f0275b714ff556628ef07bdc3 Mon Sep 17 00:00:00 2001 From: Elisha Oren Date: Wed, 8 Mar 2017 15:00:51 +0200 Subject: [PATCH] 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 --- .../resources/authentification/auth.services.js | 16 +++++++++++++--- .../main/resources/authentification/auth.spec.js | 12 ++++++------ 2 files changed, 19 insertions(+), 9 deletions(-) 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(); })); }); -- 2.36.6