У меня проблема с antMatchers. Это не работает, как я ожидал. Я пытаюсь разрешить для всех конечных точек / токенов / **, но когда вызывается эта конечная точка, мои фильтры тоже вызываются (JwtTokenVerifier)
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/tokens/**").permitAll()
.anyRequest().authenticated()
.and()
.csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.cors()
.and()
.addFilter(new JwtUsernameAndPasswordAuthenticationFilter(authenticationManager(), this.jwtProperties, objectMapper))
.addFilterAfter(new JwtTokenVerifier(this.jwtProperties), JwtUsernameAndPasswordAuthenticationFilter.class);
}
Каждый раз, когда я пытаюсь получить доступ, например, / tokens / refre sh -access-token JwtTokenVerifier вызывается.
@PostMapping("/tokens/refresh-access-token")
@ResponseStatus(HttpStatus.OK)
public Map<String,String> refreshAccessToken(@RequestBody String refreshToken)
Проверка токена:
public class JwtTokenVerifier extends OncePerRequestFilter {
private final JwtProperties jwtProperties;
public JwtTokenVerifier(JwtProperties jwtProperties) {
this.jwtProperties = jwtProperties;
}
@Override
protected void doFilterInternal(HttpServletRequest request,
HttpServletResponse response,
FilterChain filterChain) throws ServletException, IOException {