Skip to content
This repository was archived by the owner on Nov 5, 2024. It is now read-only.

Commit a2402ee

Browse files
author
Jørgen Tu Sveli
committed
F!! Overrider autentisering dersom requestet matcher /api/migrering
1 parent 97b9ac8 commit a2402ee

File tree

3 files changed

+52
-3
lines changed

3 files changed

+52
-3
lines changed

src/main/java/no/nav/fo/veilarbregistrering/config/FilterConfig.kt

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package no.nav.fo.veilarbregistrering.config
22

33
import no.nav.common.auth.Constants
44
import no.nav.common.auth.context.UserRole
5-
import no.nav.common.auth.oidc.filter.OidcAuthenticationFilter
65
import no.nav.common.auth.oidc.filter.OidcAuthenticator
76
import no.nav.common.auth.oidc.filter.OidcAuthenticatorConfig
87
import no.nav.common.log.LogFilter
@@ -70,8 +69,8 @@ class FilterConfig {
7069

7170
@Bean
7271
open fun authenticationFilterRegistrationBean(): FilterRegistrationBean<*> {
73-
val registration = FilterRegistrationBean<OidcAuthenticationFilter>()
74-
val authenticationFilter = OidcAuthenticationFilter(
72+
val registration = FilterRegistrationBean<OidcAuthenticationFilterMigreringBypass>()
73+
val authenticationFilter = OidcAuthenticationFilterMigreringBypass(
7574
OidcAuthenticator.fromConfigs(
7675
createOpenAmAuthenticatorConfig(),
7776
createVeilarbloginAADConfig(),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package no.nav.fo.veilarbregistrering.config
2+
3+
import no.nav.common.auth.oidc.filter.OidcAuthenticationFilter
4+
import no.nav.common.auth.oidc.filter.OidcAuthenticator
5+
import no.nav.fo.veilarbregistrering.log.loggerFor
6+
import org.springframework.util.AntPathMatcher
7+
import javax.servlet.FilterChain
8+
import javax.servlet.ServletRequest
9+
import javax.servlet.ServletResponse
10+
import javax.servlet.http.HttpServletRequest
11+
12+
class OidcAuthenticationFilterMigreringBypass(oidcAuthenticators: List<OidcAuthenticator>) : OidcAuthenticationFilter(oidcAuthenticators) {
13+
override fun doFilter(servletRequest: ServletRequest, servletResponse: ServletResponse, chain: FilterChain) {
14+
val servletPath = (servletRequest as HttpServletRequest).servletPath
15+
if (!AntPathMatcher().match(MIGRERING_PATTERN, servletPath)) {
16+
log.info("Gjør autentisering for request til [${servletPath}")
17+
super.doFilter(servletRequest, servletResponse, chain)
18+
} else {
19+
log.info("OMGÅR autentisering for request til [${servletPath}")
20+
chain.doFilter(servletRequest, servletResponse)
21+
}
22+
}
23+
24+
companion object {
25+
const val MIGRERING_PATTERN = "/api/migrering"
26+
private val log = loggerFor<OidcAuthenticationFilterMigreringBypass>()
27+
}
28+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package no.nav.fo.veilarbregistrering.config
2+
3+
import no.nav.fo.veilarbregistrering.config.OidcAuthenticationFilterMigreringBypass.Companion.MIGRERING_PATTERN
4+
import org.junit.Test
5+
import org.springframework.util.AntPathMatcher
6+
import kotlin.test.assertTrue
7+
8+
class AntPathMatherTest {
9+
10+
@Test
11+
fun `AntPathMatcher matcher det vi forventer og ikke mer`() {
12+
val ok = listOf("/api/migrering")
13+
val ikkeOk = listOf("/api", "api", "/api/registrering", "/api/sistearbeidsforhold")
14+
15+
assertTrue {
16+
ok.all { AntPathMatcher().match(MIGRERING_PATTERN, it) }
17+
}
18+
assertTrue {
19+
ikkeOk.none { AntPathMatcher().match(MIGRERING_PATTERN, it) }
20+
}
21+
}
22+
}

0 commit comments

Comments
 (0)