Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se
Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Token Vazio

package br.com.ifpb.depsback.config.security;

import org.hibernate.annotations.Filter;
import org.springframework.web.filter.OncePerRequestFilter;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


public class AutenticacaoViaTokenFilter extends OncePerRequestFilter {
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {

        String token = recuperarToken(request);
        System.out.println(token);
        filterChain.doFilter(request, response);
    }

    private String recuperarToken(HttpServletRequest request) {
        String token = request.getHeader("Authorization");
        if (token == null || token.isEmpty()){
            return null;
        }
        return token.substring(7, token.length());
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEle devolve no Postman porém não esta printando no console, no console é devolvido "null".

2 respostas
solução!

Oi Yohanna,

Não vai imprimir, pois você está simulando duas coisas distintas.

A requisição que você está disparando no Postman é para "efetuar login" e receber como resposta o token. Mas no filter vai vir null mesmo, pois você não está enviando um token no header Authtorization, pois nessa requisição de login não é necessário enviar tal header.

Somente nas próximas requisições que você vai precisar enviar o token no header e aí sim vai imprimir o token enviado na classe filter.

Bons estudos!

Obrigada!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software