Spring Boot 프로젝트에서 JWT 인증을 구현하는 방법을 알려주세요.
Spring Boot JWT 인증 핵심 구조:
// 1. JWT 생성public String generateToken(String username) { return Jwts.builder() .setSubject(username) .setIssuedAt(new Date()) .setExpiration(new Date(System.currentTimeMillis() + 86400000)) .signWith(SignatureAlgorithm.HS256, secretKey) .compact();}// 2. JWT 필터@Componentpublic class JwtFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest req, HttpServletResponse res, FilterChain chain) { String header = req.getHeader("Authorization"); if (header != null && header.startsWith("Bearer ")) { String token = header.substring(7); String username = parseToken(token); // SecurityContext에 인증 정보 설정 } chain.doFilter(req, res); }}// 3. SecurityConfig에 필터 등록http.addFilterBefore(jwtFilter, UsernamePasswordAuthenticationFilter.class);
Spring Security 6.x 기준으로 SecurityFilterChain Bean 방식을 사용하세요.
SecurityFilterChain
댓글 1
Spring Boot JWT 인증 핵심 구조:
Spring Security 6.x 기준으로
SecurityFilterChainBean 방식을 사용하세요.