Signed-off-by: Tim Marx <t.m...@proxmox.com> --- Utils.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/Utils.js b/Utils.js index 22eddd2..b190ce4 100644 --- a/Utils.js +++ b/Utils.js @@ -31,6 +31,10 @@ Ext.Ajax.on('beforerequest', function(conn, options) { } options.headers.CSRFPreventionToken = Proxmox.CSRFPreventionToken; } + var token = window.localStorage.getItem("PVEAPIToken"); + if (token) { + options.headers.Authorization = 'PVEAPIToken=' + token; + } }); Ext.define('Proxmox.Utils', { utilities: { @@ -195,19 +199,26 @@ Ext.define('Proxmox.Utils', { utilities: { }, setAuthData: function(data) { - Proxmox.CSRFPreventionToken = data.CSRFPreventionToken; Proxmox.UserName = data.username; Proxmox.LoggedOut = data.LoggedOut; // creates a session cookie (expire = null) // that way the cookie gets deleted after the browser window is closed - Ext.util.Cookies.set(Proxmox.Setup.auth_cookie_name, data.ticket, null, '/', null, true); + if (data.ticket) { + Proxmox.CSRFPreventionToken = data.CSRFPreventionToken; + Ext.util.Cookies.set(Proxmox.Setup.auth_cookie_name, data.ticket, null, '/', null, true); + } + + if (data.token) { + window.localStorage.setItem('PVEUserName', data.username); + window.localStorage.setItem('PVEAPIToken', data.token); + } }, authOK: function() { if (Proxmox.LoggedOut) { return undefined; } - return (Proxmox.UserName !== '') && Ext.util.Cookies.get(Proxmox.Setup.auth_cookie_name); + return Proxmox.UserName !== '' && (Ext.util.Cookies.get(Proxmox.Setup.auth_cookie_name) || window.localStorage.getItem("PVEAPIToken")); }, authClear: function() { @@ -215,6 +226,8 @@ Ext.define('Proxmox.Utils', { utilities: { return undefined; } Ext.util.Cookies.clear(Proxmox.Setup.auth_cookie_name); + window.localStorage.removeItem("PVEAPIToken"); + window.localStorage.removeItem("PVEUserName"); }, // comp.setLoading() is buggy in ExtJS 4.0.7, so we -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel