Boa tarde,
O Endpoint /auth está pedindo autorização, nesse caso não deveria ser permitido?
Segue abaixo minhas classes de autenticação.
-- Classe AutenticacaoViaToken
class AutenticacaoViaTokenFilter: OncePerRequestFilter() {
override fun doFilterInternal(request: HttpServletRequest, response: HttpServletResponse, filter: FilterChain) {
val token: String? = recuperarToken(request)
filter.doFilter(request,response)
}
private fun recuperarToken(request: HttpServletRequest): String? {
val token: String = request.getHeader("Authorization")
if(ObjectUtils.isEmpty(token) || !token.startsWith("Bearer ")){
return null
}
return token.substring(7, token.length)
}
}
--SecurityConfiguration
@EnableWebSecurity
@Configuration
class SecurityConfiguration: WebSecurityConfigurerAdapter() {
@Autowired
lateinit var autenticacaoService: AutenticacaoService
@Override
@Bean
override fun authenticationManager(): AuthenticationManager {
return super.authenticationManager()
}
//Configurações de Autenticação
override fun configure(auth: AuthenticationManagerBuilder?) {
auth!!.userDetailsService(this.autenticacaoService).passwordEncoder(BCryptPasswordEncoder())
}
//Configuração de Autorização, URLS, diferenciar se é Stateless
override fun configure(http: HttpSecurity?) {
http!!.authorizeRequests()
.antMatchers(HttpMethod.POST, "/auth").permitAll()
.anyRequest().authenticated()
.and()
.csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.addFilterBefore(AutenticacaoViaTokenFilter()
,UsernamePasswordAuthenticationFilter::class.java)
}
//Configuração de Recursos Estáticos css,imagens
override fun configure(web: WebSecurity?) {
}
}