Skip to content

Commit c06b1f4

Browse files
committed
Remove LazyCsrfTokenRepository
Closes gh-13196
1 parent e48fdd5 commit c06b1f4

File tree

5 files changed

+4
-363
lines changed

5 files changed

+4
-363
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ public void handle(HttpServletRequest request, HttpServletResponse response,
6060
Assert.notNull(response, "response cannot be null");
6161
Assert.notNull(deferredCsrfToken, "deferredCsrfToken cannot be null");
6262

63-
request.setAttribute(HttpServletResponse.class.getName(), response);
6463
CsrfToken csrfToken = new SupplierCsrfToken(deferredCsrfToken);
6564
request.setAttribute(CsrfToken.class.getName(), csrfToken);
6665
String csrfAttrName = (this.csrfRequestAttributeName != null) ? this.csrfRequestAttributeName

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

Lines changed: 0 additions & 246 deletions
This file was deleted.

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,10 @@ public void logoutRemovesCsrfTokenAndLoadsNewDeferredCsrfToken() {
118118
// SEC-2872
119119
@Test
120120
public void delaySavingCsrf() {
121-
this.strategy = new CsrfAuthenticationStrategy(new LazyCsrfTokenRepository(this.csrfTokenRepository));
121+
this.strategy = new CsrfAuthenticationStrategy(this.csrfTokenRepository);
122122
given(this.csrfTokenRepository.loadToken(this.request)).willReturn(this.existingToken, (CsrfToken) null);
123123
given(this.csrfTokenRepository.generateToken(this.request)).willReturn(this.generatedToken);
124+
given(this.csrfTokenRepository.loadDeferredToken(any(), any())).willCallRealMethod();
124125
this.strategy.onAuthentication(new TestingAuthenticationToken("user", "password", "ROLE_USER"), this.request,
125126
this.response);
126127
verify(this.csrfTokenRepository).saveToken(null, this.request, this.response);

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,10 @@ public void constructorNullRepository() {
108108
// SEC-2276
109109
@Test
110110
public void doFilterDoesNotSaveCsrfTokenUntilAccessed() throws ServletException, IOException {
111-
this.filter = createCsrfFilter(new LazyCsrfTokenRepository(this.tokenRepository));
111+
this.filter = createCsrfFilter(this.tokenRepository);
112112
given(this.requestMatcher.matches(this.request)).willReturn(false);
113113
given(this.tokenRepository.generateToken(this.request)).willReturn(this.token);
114+
given(this.tokenRepository.loadDeferredToken(any(), any())).willCallRealMethod();
114115
this.filter.doFilter(this.request, this.response, this.filterChain);
115116
CsrfToken attrToken = (CsrfToken) this.request.getAttribute(this.csrfAttrName);
116117
// no CsrfToken should have been saved yet
@@ -278,8 +279,6 @@ public void doFilterIsCsrfRequestGenerateToken() throws ServletException, IOExce
278279
assertThatCsrfToken(this.request.getAttribute(this.csrfAttrName)).isNotNull();
279280
assertThatCsrfToken(this.request.getAttribute(CsrfToken.class.getName())).isNotNull();
280281
assertThat(this.request.getAttribute(DeferredCsrfToken.class.getName())).isSameAs(deferredCsrfToken);
281-
// LazyCsrfTokenRepository requires the response as an attribute
282-
assertThat(this.request.getAttribute(HttpServletResponse.class.getName())).isEqualTo(this.response);
283282
verify(this.filterChain).doFilter(this.request, this.response);
284283
verifyNoMoreInteractions(this.deniedHandler);
285284
}

0 commit comments

Comments
 (0)