diff --git a/ui/scripts/cloudStack.js b/ui/scripts/cloudStack.js index 367a0df9b0c..7e67850d567 100644 --- a/ui/scripts/cloudStack.js +++ b/ui/scripts/cloudStack.js @@ -137,14 +137,22 @@ } return cookieValue; }; - g_sessionKey = unBoxCookieValue('JSESSIONID'); + unBoxCookieValue('sessionkey'); + // if sessionkey cookie exists use this to set g_sessionKey + // and destroy sessionkey cookie + if ($.cookie('sessionkey')) { + g_sessionKey = $.cookie('sessionkey'); + $.cookie('sessionkey', null); + } else { + g_sessionKey = unBoxCookieValue('JSESSIONID'); + } g_role = unBoxCookieValue('role'); g_userid = unBoxCookieValue('userid'); g_domainid = unBoxCookieValue('domainid'); g_account = unBoxCookieValue('account'); g_username = unBoxCookieValue('username'); g_userfullname = unBoxCookieValue('userfullname'); - g_timezone = unBoxCookieValue('timezone'); + g_timezone = unBoxCookieValue('timezone'); } else { //single-sign-on (bypass login screen) g_mySession = $.cookie('JSESSIONID'); g_sessionKey = encodeURIComponent(g_loginResponse.sessionkey); @@ -397,6 +405,7 @@ g_loginCmdText = null; $.cookie('JSESSIONID', null); + $.cookie('sessionkey', null); $.cookie('username', null); $.cookie('account', null); $.cookie('domainid', null); @@ -423,6 +432,7 @@ samlLoginAction: function(args) { $.cookie('JSESSIONID', null); + $.cookie('sessionkey', null); $.cookie('username', null); $.cookie('account', null); $.cookie('domainid', null);