diff --git a/src/test/java/oidc/endpoints/AuthorizationEndpointTest.java b/src/test/java/oidc/endpoints/AuthorizationEndpointTest.java index 3300abfd..7358f261 100644 --- a/src/test/java/oidc/endpoints/AuthorizationEndpointTest.java +++ b/src/test/java/oidc/endpoints/AuthorizationEndpointTest.java @@ -153,6 +153,17 @@ public void queryParamState() throws IOException { assertEquals(state, URLDecoder.decode(stateReturned, defaultCharset())); } + @Test + public void queryParamStateWithSemiColon() throws IOException { + String state = "signon;eu;1725954357882971540;/"; + Response response = doAuthorizeWithClaimsAndScopes("mock-sp", "code", + null, null, null, null, null, state); + String location = response.getHeader("Location"); + Map queryParams = super.queryParamsToMap(location); + String stateReturned = queryParams.get("state"); + assertEquals(state, URLDecoder.decode(stateReturned, defaultCharset())); + } + @Test public void queryParamStateParameterDecodingDisabled() throws IOException { String state = "https://example.com";