aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Weimann <mail@michael-weimann.eu>2018-08-27 12:18:14 +0200
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2019-01-29 09:02:52 +0100
commite083e8abc6622ade61fbb51a9364c1c92e7f1f9e (patch)
treefd10404c5d07ea271c3735e4c50d2d739a5484d0
parent198a45ff75c64d38c1ccb6bd903ee55b446177b3 (diff)
downloadnextcloud-server-e083e8abc6622ade61fbb51a9364c1c92e7f1f9e.tar.gz
nextcloud-server-e083e8abc6622ade61fbb51a9364c1c92e7f1f9e.zip
Clears the local storage after logout
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
-rw-r--r--core/Controller/LoginController.php5
-rw-r--r--core/js/login.js6
2 files changed, 10 insertions, 1 deletions
diff --git a/core/Controller/LoginController.php b/core/Controller/LoginController.php
index 64899304d78..5697430051f 100644
--- a/core/Controller/LoginController.php
+++ b/core/Controller/LoginController.php
@@ -130,7 +130,10 @@ class LoginController extends Controller {
}
$this->userSession->logout();
- $response = new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm'));
+ $response = new RedirectResponse($this->urlGenerator->linkToRouteAbsolute(
+ 'core.login.showLoginForm',
+ ['clear' => true] // this param the the code in login.js may be removed when the "Clear-Site-Data" is working in the browsers
+ ));
$response->addHeader('Clear-Site-Data', '"cache", "storage", "executionContexts"');
return $response;
}
diff --git a/core/js/login.js b/core/js/login.js
index 64be29bfec6..8ef76c5717b 100644
--- a/core/js/login.js
+++ b/core/js/login.js
@@ -41,4 +41,10 @@ $(document).ready(function() {
$('form[name=login]').submit(OC.Login.onLogin);
$('#remember_login').click(OC.Login.rememberLogin);
+
+ var clearParamRegex = new RegExp('clear=1');
+ if (clearParamRegex.test(window.location.href)) {
+ window.localStorage.clear();
+ window.sessionStorage.clear();
+ }
});