Skip to content

Commit 3eed66d

Browse files
authored
Merge pull request #698 from puzzle/main
Deploy on production
2 parents dc9c066 + bca53e5 commit 3eed66d

File tree

5 files changed

+8
-17
lines changed

5 files changed

+8
-17
lines changed

backend/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
<parent>
77
<groupId>ch.puzzle.okr</groupId>
88
<artifactId>parent</artifactId>
9-
<version>2.0.1-SNAPSHOT</version>
9+
<version>2.0.4-SNAPSHOT</version>
1010
</parent>
1111

1212
<artifactId>backend</artifactId>
13-
<version>2.0.1-SNAPSHOT</version>
13+
<version>2.0.4-SNAPSHOT</version>
1414
<name>backend</name>
1515
<description>Puzzle OKR Tool</description>
1616

backend/src/main/java/ch/puzzle/okr/ForwardFilter.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,33 +12,24 @@
1212

1313
import java.io.IOException;
1414
import java.util.Arrays;
15-
import java.util.logging.Filter;
16-
import java.util.logging.LogRecord;
1715

1816
public class ForwardFilter extends GenericFilterBean {
1917

2018
private static final Logger logger = LoggerFactory.getLogger(ForwardFilter.class);
21-
private final String[] allowedRoutes = { "/keyresult", "/objective" };
19+
private final String[] allowedRoutes = { "/keyresult", "/objective", "/?state" };
2220

2321
@Override
2422
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
2523
throws IOException, ServletException {
2624
HttpServletRequest request = (HttpServletRequest) servletRequest;
2725
String path = request.getRequestURI();
28-
if (request.getParameter("state") != null) {
26+
27+
if (Arrays.stream(this.allowedRoutes).anyMatch(path::startsWith)) {
2928
logger.info(String.format("Keycloak state parameter detected ====> make a forward from '%s' to '%s'",
3029
request.getRequestURI(), "/"));
3130
servletRequest.getRequestDispatcher("/").forward(servletRequest, servletResponse);
3231
return;
3332
}
34-
if (Arrays.stream(this.allowedRoutes).anyMatch(path::startsWith)) {
35-
servletRequest.getRequestDispatcher("/").forward(servletRequest, servletResponse);
36-
return;
37-
}
38-
if (request.getParameter("error") != null) {
39-
logger.error(String.format("error from keycloak %s", request.getParameter("error")));
40-
return;
41-
}
4233
logger.debug(String.format("====> pass through the filter '%s'", request.getRequestURI()));
4334
filterChain.doFilter(servletRequest, servletResponse);
4435
}

backend/src/main/java/ch/puzzle/okr/SecurityConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class SecurityConfig {
2626
@Order(1) // Must be First order! Otherwise unauthorized Requests are sent to Controllers
2727
public SecurityFilterChain apiSecurityFilterChain(HttpSecurity http) throws Exception {
2828
setHeaders(http);
29+
http.addFilterAfter(new ForwardFilter(), BasicAuthenticationFilter.class);
2930
logger.debug("*** apiSecurityFilterChain reached");
3031
return http.cors(Customizer.withDefaults())
3132
.authorizeHttpRequests(e -> e.requestMatchers("/api/**").authenticated().anyRequest().permitAll())

backend/src/test/java/ch/puzzle/okr/ForwardFilterTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@ void shouldNotFilterTheRootPath(String requestUri) throws ServletException, IOEx
5959
@Test
6060
void shouldFilterAuthPath() throws ServletException, IOException {
6161
// given
62-
when(request.getRequestURI()).thenReturn("/state=''");
63-
when(request.getParameter("state")).thenReturn("state");
62+
when(request.getRequestURI()).thenReturn("/?state=''");
6463
when(request.getRequestDispatcher(anyString())).thenReturn(requestDispatcher);
6564
doNothing().when(requestDispatcher).forward(Mockito.eq(request), Mockito.eq(response));
6665

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<groupId>ch.puzzle.okr</groupId>
1010
<artifactId>parent</artifactId>
11-
<version>2.0.1-SNAPSHOT</version>
11+
<version>2.0.4-SNAPSHOT</version>
1212

1313
<parent>
1414
<groupId>org.springframework.boot</groupId>

0 commit comments

Comments
 (0)