Skip to content

Commit 0d70a7f

Browse files
committed
Merge branch '6.1.x'
Closes gh-13748
2 parents f59131f + a4d8c62 commit 0d70a7f

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

web/src/main/java/org/springframework/security/web/csrf/CookieCsrfTokenRepository.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ private String getRequestContext(HttpServletRequest request) {
178178
*/
179179
public static CookieCsrfTokenRepository withHttpOnlyFalse() {
180180
CookieCsrfTokenRepository result = new CookieCsrfTokenRepository();
181-
result.setCookieCustomizer((cookie) -> cookie.httpOnly(false));
181+
result.cookieHttpOnly = false;
182182
return result;
183183
}
184184

web/src/test/java/org/springframework/security/web/csrf/CookieCsrfTokenRepositoryTests.java

+13
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,19 @@ void cookieCustomizer() {
423423
assertThat(((MockCookie) tokenCookie).getSameSite()).isEqualTo(sameSitePolicy);
424424
}
425425

426+
// gh-13659
427+
@Test
428+
void withHttpOnlyFalseWhenCookieCustomizerThenStillDefaultsToFalse() {
429+
CookieCsrfTokenRepository repository = CookieCsrfTokenRepository.withHttpOnlyFalse();
430+
repository.setCookieCustomizer((customizer) -> customizer.maxAge(1000));
431+
CsrfToken token = repository.generateToken(this.request);
432+
repository.saveToken(token, this.request, this.response);
433+
Cookie tokenCookie = this.response.getCookie(CookieCsrfTokenRepository.DEFAULT_CSRF_COOKIE_NAME);
434+
assertThat(tokenCookie).isNotNull();
435+
assertThat(tokenCookie.getMaxAge()).isEqualTo(1000);
436+
assertThat(tokenCookie.isHttpOnly()).isEqualTo(Boolean.FALSE);
437+
}
438+
426439
@Test
427440
void setCookieNameNullIllegalArgumentException() {
428441
assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setCookieName(null));

0 commit comments

Comments
 (0)