Use localStorage instead of sessionStorage 01/53001/1
authorElisha Oren <elisha.oren@hpe.com>
Wed, 8 Mar 2017 13:00:51 +0000 (15:00 +0200)
committerElisha Oren <elisha.oren@hpe.com>
Wed, 8 Mar 2017 13:04:20 +0000 (15:04 +0200)
This is mainly to prevent the use of login on every tab

Change-Id: I79cfe73f45294b7e82a5e3c9332ef1dcc8cdbec7
Signed-off-by: Elisha Oren <elisha.oren@hpe.com>
modules/common-authentication-resources/src/main/resources/authentification/auth.services.js
modules/common-authentication-resources/src/main/resources/authentification/auth.spec.js

index 3a100a99626539f12205710a77a792bc07225b62..da07de2dfeb585aa78993d69b4ae0167bcf369be 100644 (file)
@@ -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;
           }
         }
index c75b769123d67a6a080efd753d5f234df991a9d3..911b56cfe3e49801e0f38b7df1e7bbefca4f5b47 100644 (file)
@@ -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();
       }));
     });