Class JwtTokenProvider

java.lang.Object
com.mapmyjourney.backend.security.JwtTokenProvider

@Component public class JwtTokenProvider extends Object
Proveedor de tokens JWT. Maneja la generación, validación y extracción de información de tokens JWT. Usa JJWT (Java JWT) para crear tokens seguros con firma HMAC SHA-512.
  • Constructor Details

    • JwtTokenProvider

      public JwtTokenProvider()
  • Method Details

    • generateToken

      public String generateToken(org.springframework.security.core.Authentication authentication)
      Genera un token JWT a partir de una Authentication de Spring. Extrae el email del usuario autenticado como "subject" del token.
      Parameters:
      authentication - Objeto Authentication de Spring con el usuario logueado
      Returns:
      Token JWT codificado en Base64
    • generateToken

      public String generateToken(String email)
      Genera un token JWT para un email específico. El token contiene: - subject: Email del usuario - issuedAt: Fecha/hora de creación - expiration: Fecha/hora de expiración - firma: HMAC SHA-512
      Parameters:
      email - Email del usuario
      Returns:
      Token JWT codificado
    • extractEmail

      public String extractEmail(String token)
      Extrae el email (subject) de un token JWT válido.
      Parameters:
      token - Token JWT a parsear
      Returns:
      Email del usuario contenido en el token
    • validateToken

      public boolean validateToken(String token)
      Valida que el token JWT sea válido.
    • getExpirationTime

      public long getExpirationTime()
      Retorna el tiempo de expiración del token en milisegundos.