Untitled

 avatar
unknown
plain_text
a month ago
1.0 kB
96
Indexable
public String generateToken(String username) {
        return Jwts.builder()
                .setSubject(username)
                .setExpiration(Date.from(Instant.now().plus(Duration.ofHours(1)))) // 1 óra
                .signWith(SignatureAlgorithm.HS256, SECRET_KEY)
                .compact();
    }

    public boolean validateToken(String token) {
        try {
            Jws<Claims> jws = Jwts.parserBuilder()
                    .setSigningKey(SECRET_KEY)
                    .build()
                    .parseClaimsJws(token);

            Claims claims = jws.getBody();
            String username = claims.getSubject();
            return isTokenValidForUser(username, token);

        } catch (Exception e) {
            return false;
        }
    }

    private boolean isTokenValidForUser(String username, String token) {
        User user = userService.findByUsername(username);
        if (user != null) {
            return token.equals(user.getJwtToken());
        }
        return false;
    }
Leave a Comment