Browse Source

Merge branch '6.1.x'

Closes gh-13748
pull/13749/head
Josh Cummings 2 years ago
parent
commit
0d70a7f508
No known key found for this signature in database
GPG Key ID: A306A51F43B8E5A5
  1. 2
      web/src/main/java/org/springframework/security/web/csrf/CookieCsrfTokenRepository.java
  2. 13
      web/src/test/java/org/springframework/security/web/csrf/CookieCsrfTokenRepositoryTests.java

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

@ -178,7 +178,7 @@ public final class CookieCsrfTokenRepository implements CsrfTokenRepository { @@ -178,7 +178,7 @@ public final class CookieCsrfTokenRepository implements CsrfTokenRepository {
*/
public static CookieCsrfTokenRepository withHttpOnlyFalse() {
CookieCsrfTokenRepository result = new CookieCsrfTokenRepository();
result.setCookieCustomizer((cookie) -> cookie.httpOnly(false));
result.cookieHttpOnly = false;
return result;
}

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

@ -423,6 +423,19 @@ class CookieCsrfTokenRepositoryTests { @@ -423,6 +423,19 @@ class CookieCsrfTokenRepositoryTests {
assertThat(((MockCookie) tokenCookie).getSameSite()).isEqualTo(sameSitePolicy);
}
// gh-13659
@Test
void withHttpOnlyFalseWhenCookieCustomizerThenStillDefaultsToFalse() {
CookieCsrfTokenRepository repository = CookieCsrfTokenRepository.withHttpOnlyFalse();
repository.setCookieCustomizer((customizer) -> customizer.maxAge(1000));
CsrfToken token = repository.generateToken(this.request);
repository.saveToken(token, this.request, this.response);
Cookie tokenCookie = this.response.getCookie(CookieCsrfTokenRepository.DEFAULT_CSRF_COOKIE_NAME);
assertThat(tokenCookie).isNotNull();
assertThat(tokenCookie.getMaxAge()).isEqualTo(1000);
assertThat(tokenCookie.isHttpOnly()).isEqualTo(Boolean.FALSE);
}
@Test
void setCookieNameNullIllegalArgumentException() {
assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setCookieName(null));

Loading…
Cancel
Save