Код: Выделить всё
private static final SecretKey SECRET_KEY = Jwts.SIG.HS512.key().build();
public String generateTokenFromUsername(String username) {
return Jwts.builder().subject(username).issuedAt(new Date())
.expiration(new Date((new Date()).getTime() + jwtExpirationMs)).signWith(SECRET_KEY)
.compact();
}
< /code>
И вот как я их подтверждаю (исключение безопасности - это то, что брошено): < /p>
public boolean validateJwtToken(String authToken) {
try {
Jwts.parser()
.verifyWith(SECRET_KEY)
.build()
.parseSignedClaims(authToken)
.getPayload();
return true;
} catch (SecurityException 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 false;
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... ital-ocean