package auth.login; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import auth.openidconnect.Utils; import persistency.entities.LoggedUser; import persistency.exposed.LoggedUserExposed; import utils.LoginUtils; /** * Servlet implementation class Logout */ public class Logout extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { LoggedUserExposed lue = new LoggedUserExposed(); LoggedUser currentUser = lue.getCurrentUser(request); if(currentUser == null){ response.sendRedirect("/"); } currentUser.setSessionExpires(0); lue.updateEntity(currentUser); performLocalInfoRemove(request, response); response.sendRedirect("/"); } public void performLocalInfoRemove(HttpServletRequest request, HttpServletResponse response) { request.getSession().removeAttribute(Utils.ACCESS_TOKEN_SESSION_KEY); request.getSession().setAttribute(Utils.TWITTER, null); LoginUtils.invalidateCookie(request, response); } }