public function run() { $logout = $this->getInput()->getParameter('logout', 'false'); if ($logout === 'true') { $sessionStore = $this->getServiceObject(UmgtUserSessionStore::class, [], APFService::SERVICE_TYPE_SESSION_SINGLETON); /* @var $sessionStore UmgtUserSessionStore */ $sessionStore->logout($this->getContext()); // delete cookie to avoid re-log-in effects after clicking on log-out $cookie = new Cookie(UmgtAutoLoginAction::AUTO_LOGIN_COOKIE_NAME); $response = $this->getResponse(); $response->setCookie($cookie->delete()); // redirect to target page $urlProvider = $this->getDIServiceObject('APF\\modules\\usermanagement\\biz', 'LogoutRedirectUrlProvider'); /* @var $urlProvider UmgtRedirectUrlProvider */ $response->forward(LinkGenerator::generateUrl(Url::fromString($urlProvider->getRedirectUrl()))); } }
public function getCookie($name) { if (isset($_COOKIE[$name])) { $cookie = new Cookie($name); $cookie->setValue($_COOKIE[$name]); return $cookie; } return null; }
public function createAutoLogin($user) { /* @var $umgt UmgtManager */ $umgt = $this->getDIServiceObject('APF\\modules\\usermanagement\\biz', 'UmgtManager'); $cookieLifeTime = $umgt->getAutoLoginCookieLifeTime(); $cookie = new Cookie(UmgtAutoLoginAction::AUTO_LOGIN_COOKIE_NAME, time() + $cookieLifeTime); $token = md5(rand(100000, 999999)); $this->getResponse()->setCookie($cookie->setValue($token)); $authToken = new UmgtAuthToken(); $authToken->setToken($token); $umgt->saveAuthToken($user, $authToken); }
public function deleteCookie(Cookie $cookie) { $this->cookies[$cookie->getName()] = $cookie->delete(); return $this; }