/**
  * Logout a profile.
  *
  * @return Response
  */
 protected function logout()
 {
     if ($this->app['clientlogin.session']->isLoggedIn($this->request)) {
         $this->getTokenManager()->removeToken(TokenManager::TOKEN_ACCESS);
         $this->app['clientlogin.feedback']->set('message', 'Logout was successful.');
     }
     $cookiePaths = $this->getConfig()->getCookiePaths();
     $response = new SuccessRedirectResponse('/');
     CookieManager::clearResponseCookies($response, $cookiePaths);
     return $response;
 }
 /**
  * Logout route.
  *
  * @param \Silex\Application $app
  * @param Request            $request
  *
  * @return RedirectResponse
  */
 public function authenticationLogout(Application $app, Request $request)
 {
     if (!$app['clientlogin.provider.manager']->getProviderName()) {
         $request->query->set('provider', 'Generic');
     }
     $response = $this->getFinalResponse($app, 'logout');
     if ($response instanceof SuccessRedirectResponse) {
         $response->setTargetUrl($this->getRedirectUrl($app));
     }
     CookieManager::clearResponseCookies($response, $app['clientlogin.config']->getCookiePaths());
     return $response;
 }