Removing the Cookie is not working in IE10 and IE11
While trying to remove the cookies in IE10 and IE11 through Java, the cookies are not getting removed in the browser.The code snippet used to remove the cookie:
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
String cookieName = "SampleCookieName";
Cookie cookie = cookies[i];
if (cookieName.equals(cookie.getName())) {
cookie.setPath("/");
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}
}
The root cause of the issue is IE10 and IE11 expecting the value for the attribute Expires as 0 not for Max-Age.
Fix for the issue - Use the below code to remove the cookies
Cookie[] cookies = request.getCookies();if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
String cookieName = "SampleCookie";
Cookie cookie = cookies[i];
if (cookieName.equals(cookie.getName())) {
StringBuilder cookieString = new StringBuilder(cookieHeaderName + "=" + "" + "; ");
cookieString.append("Expires=0" + "; ");
cookieString.append("Version=0; ");
cookieString.append("Path=/; ");
cookieString.append("Max-Age=0" + "; ");
//cookieString.append("HttpOnly");
response.addHeader("Set-Cookie", cookieString.toString());
}
}
}
Refer the following blog to set cookies in IE10 and IE11 - cookie-values-are-not-setting-in-ie10-and-ie11
No comments:
Post a Comment