package org.ovirt.engine.core; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.ovirt.engine.core.aaa.SsoOAuthServiceUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class SwitchUserServlet extends HttpServlet { private static final long serialVersionUID = 9210030009170727847L; private static final Logger log = LoggerFactory.getLogger(SwitchUserServlet.class); @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { SsoOAuthServiceUtils.revoke((String) request.getSession(true).getAttribute(WelcomeUtils.TOKEN)); HttpSession session = request.getSession(); if (session != null) { session.invalidate(); } } catch (Exception ex) { log.error("Unable to logout user: {}", ex.getMessage()); } request.getRequestDispatcher(WelcomeUtils.LOGIN_URI).forward(request, response); } }