let CACHED_APP_KEY_CONTEXT = localStorage.getItem("OSINT_SHIELD_AUTH_SESSION_KEY") || ""; window.addEventListener("DOMContentLoaded", () => { if(CACHED_APP_KEY_CONTEXT) { document.getElementById("session-key-input").value = CACHED_APP_KEY_CONTEXT; authenticateSessionHandshake(); } }); async function authenticateSessionHandshake() { const token = document.getElementById("session-key-input").value.trim(); if(!token) return alert("API Token specification signature cannot be blank."); try { const response = await fetch('/api/auth/validate', { method: "GET", headers: { "X-API-Key": token } }); if(!response.ok) throw new Error("Credentials handshake unauthorized or revoked."); const profile = await response.json(); CACHED_APP_KEY_CONTEXT = token; localStorage.setItem("OSINT_SHIELD_AUTH_SESSION_KEY", token); document.getElementById("auth-gate").classList.add("hidden"); document.getElementById("app-workspace").classList.remove("hidden"); document.getElementById("identity-badge").innerText = `[${profile.role.toUpperCase()} // ${profile.tier.toUpperCase()}]`; // Safe Conditional Code Script Aggregation Block if(profile.role === "admin") { await loadTargetScriptAsset("/assets/admin-engine.js", token); if (typeof initAdminWorkspace === "function") initAdminWorkspace(); } else { await loadTargetScriptAsset("/assets/client-engine.js", token); if (typeof initClientWorkspace === "function") initClientWorkspace(); } } catch(err) { alert(err.message); terminateSessionContext(); } } function loadTargetScriptAsset(srcUrl, tokenValue) { return new Promise((resolve, reject) => { fetch(srcUrl, { headers: { "X-API-Key": tokenValue } }) .then(res => { if(!res.ok) throw new Error("Failed to load script layer asset frames safely."); return res.text(); }) .then(code => { const script = document.createElement("script"); script.text = code; document.body.appendChild(script); resolve(); }) .catch(reject); }); } function terminateSessionContext() { localStorage.removeItem("OSINT_SHIELD_AUTH_SESSION_KEY"); window.location.reload(); }