Skip to content

Commit 6cf4a5e

Browse files
authored
Merge Fix CookieRequestCache parameters
2 parents c29775a + 3110c90 commit 6cf4a5e

2 files changed

Lines changed: 16 additions & 0 deletions

File tree

web/src/main/java/org/springframework/security/web/savedrequest/CookieRequestCache.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public void saveRequest(HttpServletRequest request, HttpServletResponse response
9393
.setServerPort(port)
9494
.setMethod(request.getMethod())
9595
.setLocales(Collections.list(request.getLocales()))
96+
.setParameters(request.getParameterMap())
9697
.build();
9798
}
9899

web/src/test/java/org/springframework/security/web/savedrequest/CookieRequestCacheTests.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,21 @@ public void getRequestWhenRequestContainsSavedRequestCookieThenReturnsSaveReques
108108
assertThat(savedRequest.getRedirectUrl()).isEqualTo(redirectUrl);
109109
}
110110

111+
@Test
112+
public void getRequestWhenRequestContainsSavedRequestCookieThenSavedRequestContainsRequestParameters() {
113+
CookieRequestCache cookieRequestCache = new CookieRequestCache();
114+
MockHttpServletRequest request = new MockHttpServletRequest();
115+
request.setCookies(new Cookie(DEFAULT_COOKIE_NAME, encodeCookie("https://abc.com/destination")));
116+
request.setParameter("single", "first");
117+
request.addParameter("multi", "second");
118+
request.addParameter("multi", "third");
119+
SavedRequest savedRequest = cookieRequestCache.getRequest(request, new MockHttpServletResponse());
120+
assertThat(savedRequest).isNotNull();
121+
assertThat(savedRequest.getParameterValues("single")).containsExactly("first");
122+
assertThat(savedRequest.getParameterValues("multi")).containsExactly("second", "third");
123+
assertThat(savedRequest.getParameterMap()).containsKeys("single", "multi");
124+
}
125+
111126
@Test
112127
public void matchingRequestWhenRequestDoesNotContainSavedRequestCookieThenReturnsNull() {
113128
CookieRequestCache cookieRequestCache = new CookieRequestCache();

0 commit comments

Comments
 (0)