From 2aecf573c228cd006c3c25af6b43f24961413f72 Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Sun, 14 Aug 2022 20:01:18 -0400 Subject: add auto-login with localStorage The app now supports auto-logging in on page load, if localStorage is populated with user, pass, and locale values. However, the app does not set these values at all, so the user must set them in the browser Developer Tools. --- radicale_infcloud/web/main.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'radicale_infcloud/web/main.js') diff --git a/radicale_infcloud/web/main.js b/radicale_infcloud/web/main.js index 6a8acda..5ef2763 100644 --- a/radicale_infcloud/web/main.js +++ b/radicale_infcloud/web/main.js @@ -588,6 +588,17 @@ function getLoggedUser() function login() { $('#LoginLoader').fadeTo(1200, 1, function(){ + /* Load localStorage values for automatic login + * No mechanism is currently provided for saving these values. The user must use Developer Tools + to run localStorage.setItem("pass","value") and so on. + */ + if(localStorage.getItem("pass")!=null && localStorage.getItem("user")!=null){ + $('#LoginPage').find('[data-type="system_username"]').val(localStorage.getItem("user")); + $('#LoginPage').find('[data-type="system_password"]').val(localStorage.getItem("pass")); + if(localStorage.getItem("locale")!=null){ + $('#LoginPage').find('[data-type="language"]').val(localStorage.getItem("locale")).change(); + } + } globalLoginUsername=$('#LoginPage').find('[data-type="system_username"]').val(); globalLoginPassword=$('#LoginPage').find('[data-type="system_password"]').val(); loadConfig(); @@ -1066,6 +1077,10 @@ function globalMain() mainSettings(); init(); + /* Automatically log in if using localStorage */ + if(localStorage.getItem("pass")!=null){ + $('#LoginPage').find('[data-type="system_login"]').click(); + } } function saveSettings(isFormSave) -- cgit