До сих пор я заменял устаревший код обновленным кодом, который я нашел в документации Spring Security, но там это одна часть кода в моем JWTGenerator, на которой я застрял. Вот он (это JWTGenerator.java в моей папке «Безопасность»)
Код: Выделить всё
@Component
public class JWTGenerator {
public String generateToken(Authentication authentication){
String username = authentication.getName();
Date currentDate = new Date();
Date expireDate = new Date(currentDate.getTime() + SecurityConstants.JWT_EXPIRATION);
String token = Jwts.builder()
.setSubject(username)
.setIssuedAt(new Date())
.setExpiration(expireDate)
.signWith(Keys.hmacShaKeyFor(SecurityConstants.JWT_SECRET.getBytes()))
.compact();
return token;
}
public String getUsernameFromJWT(String token){
Claims claims = Jwts.parserBuilder()
.setSigningKey(Keys.hmacShaKeyFor(SecurityConstants.JWT_SECRET.getBytes()))
.parseClaimsJws(token) //this part is highlighted in red
.getBody();
return claims.getSubject();
}
}
Спасибо за чтение и спасибо всем, кто оставляет комментарии!
Я попробовал найти решение на этой странице документации. https://javadoc.io/static/io.jsonwebtok ... ilder.html
В JWTParser, как ни странно, "parseClaimsJws" и другие его варианты не помечены как устаревшие..есть ли какие-нибудь как еще можно использовать parseClaimsJws в моем коде?
Подробнее здесь: https://stackoverflow.com/questions/769 ... ing-securi
Мобильная версия