/** * Set sso cookie with session id. * * @param context * @return */ public static void setTokenIdCookie(IdentityMessageContext context, String sessionId) { Cookie ssoCookie = new Cookie(SAML_TOKEN_ID_COOKIE_NAME, sessionId); Cookie samlssoTokenIdCookie = new Cookie(SAML_TOKEN_ID_COOKIE_NAME, sessionId); IdentityCookieConfig samlssoTokenIdCookieConfig = IdentityUtil .getIdentityCookieConfig(SAML_TOKEN_ID_COOKIE_NAME); int defaultMaxAge = IdPManagementUtil.getIdleSessionTimeOut(((SAMLMessageContext)context).getTenantDomain()) * 60; samlssoTokenIdCookie.setSecure(true); samlssoTokenIdCookie.setHttpOnly(true); if (samlssoTokenIdCookieConfig != null) { samlssoTokenIdCookie.setMaxAge(samlssoTokenIdCookieConfig.getMaxAge() > 0 ? samlssoTokenIdCookieConfig.getMaxAge() : defaultMaxAge); samlssoTokenIdCookie.setDomain(samlssoTokenIdCookieConfig.getDomain()); } else { samlssoTokenIdCookie.setMaxAge(defaultMaxAge); } ((SAMLMessageContext) context).addCookie(SAMLSSOConstants.SAML_TOKEN_ID_COOKIE_NAME, ssoCookie); }
/** * Removes a cookie which is already stored. * @param req Incoming HttpServletRequest. * @param resp HttpServletResponse which should be stored. * @param cookieName Name of the cookie which should be removed. */ public static void removeCookie(HttpServletRequest req, HttpServletResponse resp, String cookieName) { Cookie[] cookies = req.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if (cookie.getName().equals(cookieName)) { CookieBuilder cookieBuilder = new CookieBuilder(cookieName, cookie.getValue()); IdentityCookieConfig cookieConfig = IdentityUtil.getIdentityCookieConfig (cookieName); if (cookieConfig != null) { updateCookieConfig(cookieBuilder, cookieConfig, 0); } else { cookieBuilder.setHttpOnly(true); cookieBuilder.setSecure(true); cookieBuilder.setPath("/"); } cookieBuilder.setMaxAge(0); resp.addCookie(cookieBuilder.build()); break; } } } }
/** * Removes a cookie which is already stored. * @param req Incoming HttpServletRequest. * @param resp HttpServletResponse which should be stored. * @param cookieName Name of the cookie which should be removed. */ public static void removeCookie(HttpServletRequest req, HttpServletResponse resp, String cookieName) { Cookie[] cookies = req.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if (cookie.getName().equals(cookieName)) { CookieBuilder cookieBuilder = new CookieBuilder(cookieName, cookie.getValue()); IdentityCookieConfig cookieConfig = IdentityUtil.getIdentityCookieConfig (cookieName); if (cookieConfig != null) { updateCookieConfig(cookieBuilder, cookieConfig, 0); } else { cookieBuilder.setHttpOnly(true); cookieBuilder.setSecure(true); cookieBuilder.setPath("/"); } cookieBuilder.setMaxAge(0); resp.addCookie(cookieBuilder.build()); break; } } } }
/** * Stores a cookie to the response taking configurations from identity.xml file. * @param req Incoming HttpSerletRequest. * @param resp Outgoing HttpServletResponse. * @param cookieName Name of the cookie to be stored. * @param id Cookie id. * @param age Max age of the cookie. */ public static void setCookie(HttpServletRequest req, HttpServletResponse resp, String cookieName, String id, Integer age) { CookieBuilder cookieBuilder = new CookieBuilder(cookieName, id); IdentityCookieConfig cookieConfig = IdentityUtil.getIdentityCookieConfig(cookieName); if (cookieConfig != null) { updateCookieConfig(cookieBuilder, cookieConfig, age); } else { cookieBuilder.setSecure(true); cookieBuilder.setHttpOnly(true); cookieBuilder.setPath("/"); if (age != null) { cookieBuilder.setMaxAge(age); } } resp.addCookie(cookieBuilder.build()); }
/** * Stores a cookie to the response taking configurations from identity.xml file. * @param req Incoming HttpSerletRequest. * @param resp Outgoing HttpServletResponse. * @param cookieName Name of the cookie to be stored. * @param id Cookie id. * @param age Max age of the cookie. */ public static void setCookie(HttpServletRequest req, HttpServletResponse resp, String cookieName, String id, Integer age) { CookieBuilder cookieBuilder = new CookieBuilder(cookieName, id); IdentityCookieConfig cookieConfig = IdentityUtil.getIdentityCookieConfig(cookieName); if (cookieConfig != null) { updateCookieConfig(cookieBuilder, cookieConfig, age); } else { cookieBuilder.setSecure(true); cookieBuilder.setHttpOnly(true); cookieBuilder.setPath("/"); if (age != null) { cookieBuilder.setMaxAge(age); } } resp.addCookie(cookieBuilder.build()); }
IdentityCookieConfig commonAuthIdCookieConfig = IdentityUtil.getIdentityCookieConfig(FrameworkConstants.COMMONAUTH_COOKIE);