diff --git a/backend/pom.xml b/backend/pom.xml
index 623e767..7ea176c 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -22,7 +22,6 @@
org.springframework.boot
spring-boot-starter-web
-
org.projectlombok
lombok
@@ -37,6 +36,11 @@
org.springframework.boot
spring-boot-starter-security
+
+ io.jsonwebtoken
+ jjwt
+ 0.9.1
+
diff --git a/backend/src/main/java/com/nellyxinwei/backend/config/JwtAthFilter.java b/backend/src/main/java/com/nellyxinwei/backend/config/JwtAthFilter.java
new file mode 100644
index 0000000..3cfff70
--- /dev/null
+++ b/backend/src/main/java/com/nellyxinwei/backend/config/JwtAthFilter.java
@@ -0,0 +1,45 @@
+package com.nellyxinwei.backend.config;
+
+import java.io.IOException;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.stereotype.Component;
+import org.springframework.web.filter.OncePerRequestFilter;
+
+@Component
+public class JwtAthFilter extends OncePerRequestFilter {
+ @Override
+ protected void doFilterInternal(
+ HttpServletRequest request,
+ HttpServletResponse response,
+ FilterChain filterChain) throws ServletException, IOException{
+ final String authHeader = request.getHeader(AUTHORIZATION);
+ final String userEmail;
+ final String jwtToken;
+
+ if(authHeader == null || !authHeader.startsWith("Bearer")){
+ filterChain.doFilter(request,response);
+ return;
+ }
+
+ jwtToken = authHeader.substring(7);
+
+ userEmail = "something"; // TODO: To be implemented
+
+ if(userEmail != null && SecurityContextHolder.getContext().getAuthentication() == null){
+ UserDetails userDetails = userDetailsService.loadUserByUsername(userEmail);
+ final boolean isTokenValid; // TODO: To be implemented
+ if(isTokenValid){
+ UsernamePasswordAuthenticationToken authToken = new UsernamePasswordAuthenticationToken(userDetails, null)
+ }
+ }
+ })
+}