[DEMO] Fix 2 bug SPA-side trovati al collaudo browser headless (auth in-memory + boot seed)

Il collaudo curl validava il backend ma non l'esecuzione JS nel browser. Con google-chrome --dump-dom:
1) common-bi.js: sync api.token/orgId IN-MEMORY (api.js crea l'istanza prima leggendo localStorage vuoto
   → checkAuth vedeva token null → redirect a login). Ora la SPA si auto-autentica.
2) demo-mode.js boot(): non bloccare sul seed quando HMAC_ENFORCE=false (cross-origin il seed non arriva;
   non serve, HMAC off) → il runtime (banner/listener/ready) ora parte.
Verificato headless su dashboard/risks/incidents: login:0, banner+nis2-demo-on presenti.
This commit is contained in:
DevEnv nis2-agile
2026-06-13 11:30:55 +02:00
parent f946b3a9ca
commit fcf8b0963b
2 changed files with 14 additions and 4 deletions
+7 -2
View File
@@ -159,8 +159,13 @@
}
function boot() {
loadCredentials()
.then(function () { if (!state.jwt || !state.seed) throw new Error('demo creds mancanti'); return deriveKey(); })
// HMAC_ENFORCE=false (canale runtime-avatar origin-verified): seed/chiave NON necessari.
// Cross-origin il widget non può scrivere il seed in sessionStorage e /credentials non lo
// restituisce → NON bloccare il boot sul seed, altrimenti il runtime (banner/listener) non parte.
var pre = HMAC_ENFORCE
? loadCredentials().then(function () { if (!state.jwt || !state.seed) throw new Error('demo creds mancanti'); return deriveKey(); })
: Promise.resolve();
pre
.then(function () {
banner();
w.addEventListener('message', onMessage, false);