cookieValue.append(Base64.encodeBytes(remoteAddress, Base64.DONT_BREAK_LINES)).append("|");
cookieValue.append(Base64.encodeBytes(sessionId, Base64.DONT_BREAK_LINES)).append("|");
cookieValue.append(signature);
+
Cookie sessionCookie = new Cookie(IDP_SESSION_COOKIE_NAME, HTTPTransportUtils.urlEncode(cookieValue.toString()));
-
- String contextPath = httpRequest.getContextPath();
- if (DatatypeHelper.isEmpty(contextPath)) {
- sessionCookie.setPath("/");
- } else {
- sessionCookie.setPath(contextPath);
- }
-
+ sessionCookie.setVersion(1);
+ sessionCookie.setPath(httpRequest.getContextPath() == "" ? "/" : httpRequest.getContextPath());
sessionCookie.setSecure(httpRequest.isSecure());
- sessionCookie.setMaxAge(-1);
-
httpResponse.addCookie(sessionCookie);
}
}
\ No newline at end of file
if (loginContext == null) {
return;
}
-
+
bindLoginContext(loginContext, httpRequest);
String parition = getContextParam(context, LOGIN_CTX_PARTITION_CTX_PARAM, DEFAULT_LOGIN_CTX_PARITION);
storageService.put(parition, contextKey, entry);
Cookie contextKeyCookie = new Cookie(LOGIN_CTX_KEY_NAME, contextKey);
- contextKeyCookie.setPath("/");
+ contextKeyCookie.setVersion(1);
+ contextKeyCookie.setPath(httpRequest.getContextPath() == "" ? "/" : httpRequest.getContextPath());
contextKeyCookie.setSecure(httpRequest.isSecure());
- contextKeyCookie.setMaxAge(31556926);
httpResponse.addCookie(contextKeyCookie);
}
log.warn("Corrupted LoginContext Key cookie, it did not contain a value");
}
+ httpRequest.setAttribute(LOGIN_CTX_KEY_NAME, null);
loginContextKeyCookie.setMaxAge(0);
httpResponse.addCookie(loginContextKeyCookie);