Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Formato no erro 403

O meu projeto esta funcionando tudo 100%, utilizei o exemplo de Security em um outro projeto pessoal meu, porém estou com uma unica dúvida... Estou tentando substituir o erro 403 por 401 com um body quando o token é nulo ou inválido, mas o erro não consegue bater no meu ExceptionHandler já tentei de tudo, mas sempre retorna um 403 com corpo vazio.

O que pode estar errado?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Objeto que construi para o retorno do erro: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Consegui resolver, quebrei um pouco a cabeça e vi na documentaçao algumas coisas que mudaram...

No meu caso consegui resolver criando uma classe que implementa a interface AuthenticationEntryPoint que faz o controle das excessões de acesso do Spring Security e informo a ele que quem irá fazer o controle das excessões dele a partir de agora é o meu ExceptionHandler personalizado.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Em seguida eu injeto na classe de configuração do Spring Security a interface AuthenticationEntryPoint, e adiciono mais uma implementação no securityFilterChain: exceptionHandling, e configuro para ele utilizar a minha exception personalizada.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E por fim eliminei a minha exception personalizada e utilizei a exception própria que captura erros de autenticação AuthenticationException.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Resultado: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Só não consegui entender pq o path muda ao invés de retornar o caminho do meu endpoint, mas isso é só um detalhe kkk...

Não sei se é a melhor abordagem para resolver isso, reparei em outros tópicos aqui da alura que algumas pessoas não tem esse problema... Mas pra quem esta enfrentando algo do tipo fica a dica ;)