From c15c58ee020e23311d40920f7138cc390672b483 Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Mon, 3 Oct 2022 00:19:45 -0400 Subject: [PATCH] =?UTF-8?q?JwtUtils=20=E4=BF=AE=E6=94=B9=E4=B8=BA=E9=9D=99?= =?UTF-8?q?=E6=80=81=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../security/security/jwt/JwtUtils.java | 81 +++++++++---------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/ossez/spring/security/security/jwt/JwtUtils.java b/src/main/java/com/ossez/spring/security/security/jwt/JwtUtils.java index 224f977..96f122a 100644 --- a/src/main/java/com/ossez/spring/security/security/jwt/JwtUtils.java +++ b/src/main/java/com/ossez/spring/security/security/jwt/JwtUtils.java @@ -1,58 +1,57 @@ package com.ossez.spring.security.security.jwt; -import java.util.Date; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import com.ossez.spring.security.security.services.UserDetailsImpl; +import io.jsonwebtoken.*; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.core.Authentication; import org.springframework.stereotype.Component; -import com.ossez.spring.security.security.services.UserDetailsImpl; -import io.jsonwebtoken.*; +import java.util.Date; @Component +@Slf4j public class JwtUtils { - private static final Logger logger = LoggerFactory.getLogger(JwtUtils.class); - @Value("${bezkoder.app.jwtSecret}") - private String jwtSecret; + @Value("${bezkoder.app.jwtSecret}") + private static String jwtSecret; - @Value("${bezkoder.app.jwtExpirationMs}") - private int jwtExpirationMs; + @Value("${bezkoder.app.jwtExpirationMs}") + private static int jwtExpirationMs; - public String generateJwtToken(Authentication authentication) { + public static String generateJwtToken(Authentication authentication) { - UserDetailsImpl userPrincipal = (UserDetailsImpl) authentication.getPrincipal(); + UserDetailsImpl userPrincipal = (UserDetailsImpl) authentication.getPrincipal(); - return Jwts.builder() - .setSubject((userPrincipal.getUsername())) - .setIssuedAt(new Date()) - .setExpiration(new Date((new Date()).getTime() + jwtExpirationMs)) - .signWith(SignatureAlgorithm.HS512, jwtSecret) - .compact(); - } - - public String getUserNameFromJwtToken(String token) { - return Jwts.parser().setSigningKey(jwtSecret).parseClaimsJws(token).getBody().getSubject(); - } - - public boolean validateJwtToken(String authToken) { - try { - Jwts.parser().setSigningKey(jwtSecret).parseClaimsJws(authToken); - return true; - } catch (SignatureException e) { - logger.error("Invalid JWT signature: {}", e.getMessage()); - } catch (MalformedJwtException e) { - logger.error("Invalid JWT token: {}", e.getMessage()); - } catch (ExpiredJwtException e) { - logger.error("JWT token is expired: {}", e.getMessage()); - } catch (UnsupportedJwtException e) { - logger.error("JWT token is unsupported: {}", e.getMessage()); - } catch (IllegalArgumentException e) { - logger.error("JWT claims string is empty: {}", e.getMessage()); + return Jwts.builder().setSubject((userPrincipal.getUsername())).setIssuedAt(new Date()).setExpiration(new Date((new Date()).getTime() + jwtExpirationMs)).signWith(SignatureAlgorithm.HS512, jwtSecret).compact(); } - return false; - } + public static String getUserNameFromJwtToken(String token) { + return Jwts.parser().setSigningKey(jwtSecret).parseClaimsJws(token).getBody().getSubject(); + } + + /** + * Validate Jwt Token + * + * @param authToken + * @return + */ + public static boolean validateJwtToken(String authToken) { + try { + Jwts.parser().setSigningKey(jwtSecret).parseClaimsJws(authToken); + return true; + } catch (SignatureException e) { + log.error("Invalid JWT signature: {}", e.getMessage()); + } catch (MalformedJwtException e) { + log.error("Invalid JWT token: {}", e.getMessage()); + } catch (ExpiredJwtException e) { + log.error("JWT token is expired: {}", e.getMessage()); + } catch (UnsupportedJwtException e) { + log.error("JWT token is unsupported: {}", e.getMessage()); + } catch (IllegalArgumentException e) { + log.error("JWT claims string is empty: {}", e.getMessage()); + } + + return false; + } }