Skip to content

Commit 7e37aa2

Browse files
authored
Merge Fix CookieRequestCache parameters
2 parents e12edf4 + 07bfe37 commit 7e37aa2

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
@@ -91,6 +91,7 @@ public SavedRequest getRequest(HttpServletRequest request, HttpServletResponse r
9191
.setServerPort(port)
9292
.setMethod(request.getMethod())
9393
.setLocales(Collections.list(request.getLocales()))
94+
.setParameters(request.getParameterMap())
9495
.build();
9596
}
9697

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)