From 4e4548b21664abf6fc2eb3c9c4bdaa660f7f6165 Mon Sep 17 00:00:00 2001 From: Art Date: Sun, 5 Sep 2021 12:41:01 +0300 Subject: [PATCH] 29. JWT Authorization Filter - Part 1 (#2) --- .../filter/JwtAuthorizationFilter.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 support-portal-backend/src/main/java/net/shyshkin/study/fullstack/supportportal/backend/filter/JwtAuthorizationFilter.java diff --git a/support-portal-backend/src/main/java/net/shyshkin/study/fullstack/supportportal/backend/filter/JwtAuthorizationFilter.java b/support-portal-backend/src/main/java/net/shyshkin/study/fullstack/supportportal/backend/filter/JwtAuthorizationFilter.java new file mode 100644 index 0000000..350ab61 --- /dev/null +++ b/support-portal-backend/src/main/java/net/shyshkin/study/fullstack/supportportal/backend/filter/JwtAuthorizationFilter.java @@ -0,0 +1,31 @@ +package net.shyshkin.study.fullstack.supportportal.backend.filter; + +import lombok.RequiredArgsConstructor; +import net.shyshkin.study.fullstack.supportportal.backend.constant.SecurityConstants; +import net.shyshkin.study.fullstack.supportportal.backend.utility.JwtTokenProvider; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +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; + +@RequiredArgsConstructor +public class JwtAuthorizationFilter extends OncePerRequestFilter { + + private final JwtTokenProvider jwtTokenProvider; + + @Override + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { + if (!request.getMethod().equalsIgnoreCase(HttpMethod.OPTIONS.name())) { + String authHeader = request.getHeader(HttpHeaders.AUTHORIZATION); + if (authHeader != null && authHeader.startsWith(SecurityConstants.TOKEN_PREFIX)) { + + } + } + filterChain.doFilter(request, response); + } +}