From e083e8abc6622ade61fbb51a9364c1c92e7f1f9e Mon Sep 17 00:00:00 2001 From: Michael Weimann <mail@michael-weimann.eu> Date: Mon, 27 Aug 2018 12:18:14 +0200 Subject: [PATCH] Clears the local storage after logout Signed-off-by: Michael Weimann <mail@michael-weimann.eu> --- core/Controller/LoginController.php | 5 ++++- core/js/login.js | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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(); + } }); -- GitLab