diff --git a/esp/src/Login.html b/esp/src/Login.html
index 7ee298a80b5..17435f00ba7 100644
--- a/esp/src/Login.html
+++ b/esp/src/Login.html
@@ -140,7 +140,7 @@
var d = new Date();
d.setTime(d.getTime() + (exMins * 60 * 1000));
var expires = "expires=" + d.toUTCString();
- document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
+ document.cookie = cname + "=" + cvalue + ";" + expires + ";";
}
if (document.cookie.indexOf("ESPAuthenticationMSG") > -1) {
diff --git a/esp/src/eclwatch/HPCCPlatformWidget.js b/esp/src/eclwatch/HPCCPlatformWidget.js
index 5f73bd12833..9c6e868195b 100644
--- a/esp/src/eclwatch/HPCCPlatformWidget.js
+++ b/esp/src/eclwatch/HPCCPlatformWidget.js
@@ -227,7 +227,7 @@ define([
context.checkIfAdmin(context.userName);
context.refreshUserName();
if (!cookie("PasswordExpiredCheck")) {
- cookie("PasswordExpiredCheck", "true", { expires: 1 });
+ cookie("PasswordExpiredCheck", "true", { expires: 1, path: "/" });
if (lang.exists("MyAccountResponse.passwordDaysRemaining", response)) {
switch (response.MyAccountResponse.passwordDaysRemaining) {
case null:
@@ -462,7 +462,7 @@ define([
},
_ondebugLanguageFiles: function () {
- /* DEBUG_ONLY
+ /* DEBUG_ONLY
var context = this;
require(["src/nls/hpcc"], function (lang) {
var languageID = [];
diff --git a/esp/src/eclwatch/LockDialogWidget.js b/esp/src/eclwatch/LockDialogWidget.js
index 3028c6cd3b5..6b4717b0177 100644
--- a/esp/src/eclwatch/LockDialogWidget.js
+++ b/esp/src/eclwatch/LockDialogWidget.js
@@ -58,7 +58,6 @@ define([
show: function (event) {
var context = this;
if (!dojoConfig.username) {
- cookie("Status", "Unlocked");
context.storage.setItem("Status", "Unlocked");
topic.publish("hpcc/session_management_status", {
status: "Unlocked"
@@ -96,7 +95,6 @@ define([
var context = this;
if (this.unlockForm.validate()) {
- cookie("Status", "login_attempt");
WsAccount.Unlock({
request: {
username: this.unlockUserName.get("value"),
@@ -113,7 +111,6 @@ define([
topic.publish("hpcc/session_management_status", {
status: "Unlocked"
});
- cookie("Status", "Unlocked");
context.storage.setItem("Status", "Unlocked");
if (context.idleFired) {
dojo.publish("hpcc/brToaster", {
@@ -127,7 +124,6 @@ define([
}
} else {
context.unlockStatus.innerHTML = response.UnlockResponse.Message;
- cookie("Status", "Locked");
}
});
}
@@ -150,10 +146,9 @@ define([
topic.publish("hpcc/session_management_status", {
status: "Locked"
});
- cookie("Status", "Locked");
context.storage.setItem("Status", "Locked");
- } else if (cookie("Status") === "Unlocked") {
- xhr("esp/lock", {
+ } else {
+ xhr("/esp/lock", {
method: "post"
}).then(function (response) {
if (response) {
@@ -163,7 +158,6 @@ define([
topic.publish("hpcc/session_management_status", {
status: "Locked"
});
- cookie("Status", "Locked");
context.storage.setItem("Status", "Locked");
}
});
diff --git a/esp/src/index.html b/esp/src/index.html
index 2ff97b9eed0..976da06abf0 100644
--- a/esp/src/index.html
+++ b/esp/src/index.html
@@ -38,7 +38,7 @@
}
function checkCookie() {
- document.cookie.indexOf("ESPAuthenticated=true") > -1 ? window.location.href : window.location.href = location.origin + "#/login";
+ document.cookie.indexOf("ESPAuthenticated=true") > -1 ? window.location.href : window.location.href = location.origin + "/esp/files/Login.html";
}
function sendAuthRequest() {
diff --git a/esp/src/lws.config.js b/esp/src/lws.config.js
index 0e147898d37..fa6ee9bc023 100644
--- a/esp/src/lws.config.js
+++ b/esp/src/lws.config.js
@@ -35,10 +35,10 @@ let rewrite = [
{ from: "/esp/files/esp/logout", to: protocol + "://" + ip + ":" + port + "/esp/logout" },
{ from: "/esp/files/esp/reset_session_timeout", to: protocol + "://" + ip + ":" + port + "/esp/reset_session_timeout" },
{ from: "/esp/files/node_modules/@hpcc-js/(.*)/dist/index.min.js", to: "/node_modules/@hpcc-js/$1/dist/index.js" },
+ { from: "/esp/files/(.*)", to: "/build/$1" },
{ from: "/esp/files/dist/(.*)", to: "/build/dist/$1" },
{ from: "/esp/files/img/(.*)", to: "build/esp/files/img/$1" },
{ from: "/esp/files/(.*/*.css)", to: "/build/esp/files/$1" },
- { from: "/esp/files/(.*)", to: "/$1" },
{ from: "/main", to: protocol + "://" + ip + ":" + port + "/main" },
{ from: "/FileSpray/(.*)", to: protocol + "://" + ip + ":" + port + "/FileSpray/$1" },
{ from: "/WsCloud/(.*)", to: protocol + "://" + ip + ":" + port + "/WsCloud/$1" },
diff --git a/esp/src/src-react/components/Frame.tsx b/esp/src/src-react/components/Frame.tsx
index 587e48246d3..ee5f89e3d42 100644
--- a/esp/src/src-react/components/Frame.tsx
+++ b/esp/src/src-react/components/Frame.tsx
@@ -62,7 +62,7 @@ export const Frame: React.FunctionComponent = () => {
fireIdle();
} else if (publishedMessage.status === "Idle") {
window.localStorage.setItem("pageOnLock", window.location.hash.substring(1));
- setUserSession({ ...userSession, Status: "Locked" });
+ setUserSession({ ...userSession });
window.location.reload();
}
});
diff --git a/esp/src/src-react/components/Title.tsx b/esp/src/src-react/components/Title.tsx
index b41d4843bd0..dfb9f829445 100644
--- a/esp/src/src-react/components/Title.tsx
+++ b/esp/src/src-react/components/Title.tsx
@@ -111,7 +111,7 @@ export const DevTitle: React.FunctionComponent = ({
fetch("esp/lock", {
method: "post"
}).then(() => {
- setUserSession({ ...userSession, Status: "Locked" });
+ setUserSession({ ...userSession });
replaceUrl("/login", null, true);
});
}
diff --git a/esp/src/src-react/components/forms/Login.tsx b/esp/src/src-react/components/forms/Login.tsx
index a6d7d39c769..ce0e71ea9a6 100644
--- a/esp/src/src-react/components/forms/Login.tsx
+++ b/esp/src/src-react/components/forms/Login.tsx
@@ -116,7 +116,6 @@ export const Login: React.FunctionComponent = ({
setErrorMessage(cookies.ESPAuthenticationMSG);
setShowError(true);
} else {
- cookies["Status"] = "Unlocked";
cookies["ESPAuthenticated"] = "true";
createUserSession(cookies).then(() => {
setErrorMessage("");
diff --git a/esp/src/src-react/hooks/user.ts b/esp/src/src-react/hooks/user.ts
index 26647d03616..34a1537f2ee 100644
--- a/esp/src/src-react/hooks/user.ts
+++ b/esp/src/src-react/hooks/user.ts
@@ -7,7 +7,6 @@ const defaults = {
ESPSessionTimeout: 7200,
ESPAuthenticated: false,
ECLWatchUser: false,
- Status: "Unlocked",
ESPSessionState: false
};
@@ -17,7 +16,6 @@ export interface UserSession {
ESPSessionTimeout: number;
ESPAuthenticated: boolean;
ECLWatchUser: boolean;
- Status: string;
ESPAuthenticationMSG?: string;
ESPSessionState: boolean;
}
@@ -47,6 +45,7 @@ export function useUserSession(): {
case "Mixed":
case "PerSessionOnly":
store.set("ESPSessionState", "true");
+ store.set("ESPAuthenticated", "true");
break;
case "PerRequestOnly":
case "UserNameOnly":
@@ -56,7 +55,6 @@ export function useUserSession(): {
default:
store.set("ESPSessionState", "false");
}
- store.set("Status", "Unlocked");
store.set("ECLWatchUser", "true");
}).catch(err => console.log("Unable to create user session."));
}, [store]);
diff --git a/esp/src/src-react/index.tsx b/esp/src/src-react/index.tsx
index 9a311de9e15..ebaa7c8060a 100644
--- a/esp/src/src-react/index.tsx
+++ b/esp/src/src-react/index.tsx
@@ -41,7 +41,7 @@ store.getEx(ModernMode, { defaultValue: String(containerized) }).then(async mode
const authType = await authTypeResp?.text() ?? "None";
const userStore = cookieKeyValStore();
const userSession = await userStore.getAll();
- if (authType.indexOf("None") < 0 && (userSession["ESPSessionState"] === "false" || userSession["ECLWatchUser"] === "false" || (!userSession["Status"] || userSession["Status"] === "Locked"))) {
+ if (authType.indexOf("None") < 0 && (userSession["ESPSessionState"] === "false" || userSession["ECLWatchUser"] === "false")) {
if (window.location.hash.indexOf("login") < 0) {
replaceUrl("/login");
}
diff --git a/esp/src/src/ESPRequest.ts b/esp/src/src/ESPRequest.ts
index 1fbde9879f9..0f753faa61c 100644
--- a/esp/src/src/ESPRequest.ts
+++ b/esp/src/src/ESPRequest.ts
@@ -122,7 +122,6 @@ class RequestHelper {
status: "DoIdle"
});
}
- cookie("Status", "Locked");
ESPUtil.LocalStorage.removeItem("Status");
}
}
diff --git a/esp/src/src/Session.ts b/esp/src/src/Session.ts
index 530fe131694..ec5dbe6be63 100644
--- a/esp/src/src/Session.ts
+++ b/esp/src/src/Session.ts
@@ -3,10 +3,10 @@ import * as xhr from "dojo/request/xhr";
import * as topic from "dojo/topic";
import { format as d3Format } from "@hpcc-js/common";
import { SMCService } from "@hpcc-js/comms";
+import { scopedLogger } from "@hpcc-js/util";
import { cookieKeyValStore } from "src/KeyValStore";
import { singletonDebounce } from "../src-react/util/throttle";
import * as ESPUtil from "./ESPUtil";
-import { scopedLogger } from "@hpcc-js/util";
const logger = scopedLogger("src/Session.ts");
@@ -72,21 +72,16 @@ export function initSession() {
});
idleWatcher.start();
- if (!cookie("Status")) {
- document.cookie = "Status=Unlocked;Path=/";
- }
} else if (cookie("ECLWatchUser")) {
window.location.replace(dojoConfig.urlInfo.basePath + "/Login.html");
}
}
export function lock() {
- cookie("Status", "Locked");
idleWatcher.stop();
}
export function unlock() {
- cookie("Status", "Unlocked");
idleWatcher.start();
}
diff --git a/esp/src/src/Utility.ts b/esp/src/src/Utility.ts
index e5c0f9117fa..e0435a0ce6f 100644
--- a/esp/src/src/Utility.ts
+++ b/esp/src/src/Utility.ts
@@ -1058,7 +1058,7 @@ export function parseCookies(): Record {
export function deleteCookie(name: string) {
const expireDate = new Date();
expireDate.setSeconds(expireDate.getSeconds() + 1);
- document.cookie = `${name}=; domain=${window.location.hostname}; path=/; expires=${expireDate.toUTCString()}`;
+ document.cookie = `${name}=; domain=${window.location.hostname}; expires=${expireDate.toUTCString()}`;
}
const d3FormatDecimal = d3Format(",.2f");