commit ea5f2718fcf56927203a107f3b585bc378c3452d
parent eb78cd58bd238511d07f7042ad0bcf49913cae92
Author: Timo A. Hummel <felicitus@felicitus.org>
Date: Fri, 6 Nov 2015 22:03:04 +0100
Added logout handler, fixes #474
Diffstat:
2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/src/PartKeepr/AuthBundle/Controller/DefaultController.php b/src/PartKeepr/AuthBundle/Controller/DefaultController.php
@@ -13,6 +13,8 @@ use PartKeepr\AuthBundle\Entity\User\Exceptions\InvalidLoginDataException;
use PartKeepr\AuthBundle\Response\LoginResponse;
use PartKeepr\AuthBundle\Validator\Constraints\Username;
use Sensio\Bundle\FrameworkExtraBundle\Configuration as Routing;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
class DefaultController extends FOSRestController
{
@@ -51,4 +53,18 @@ class DefaultController extends FOSRestController
return false;
}
}
+
+ /**
+ * Logs out the user
+ *
+ * @Routing\Route("/api/users/logout", defaults={"method" = "GET","_format" = "json"})
+ * @param Request $request
+ */
+
+ public function logoutAction (Request $request) {
+ $this->get('security.token_storage')->setToken(null);
+ $request->getSession()->invalidate();
+
+ return new Response("", 200);
+ }
}
diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Auth/LoginManager.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Auth/LoginManager.js
@@ -66,6 +66,13 @@ Ext.define('PartKeepr.Auth.LoginManager', {
*/
logout: function ()
{
+ PartKeepr.AuthBundle.Entity.User.callGetCollectionAction("logout",
+ {},
+ Ext.bind(this.onLogout, this),
+ true
+ );
+ },
+ onLogout: function () {
this.loggedIn = false;
this.fireEvent("logout");
},