@Service
public class JwtService {
@Value("${jwt.secretKey}")
private String secretKey;
@Value("${jwt.expiration}")
private String expiration;
@Value("${jwt.expirationRefresh}")
private String expirationRefresh;
public String generateAccessToken(String guid) {
return Jwts.builder()
.setSubject(guid)
.setExpiration
(new Date(System.currentTimeMillis
() + expiration
)) .signWith(SignatureAlgorithm.HS512, secretKey)
}
public String generateRefreshToken(String guid) {
return Jwts.builder()
.setSubject(guid)
.setExpiration
(new Date(System.currentTimeMillis
() + expirationRefresh
)) .signWith(SignatureAlgorithm.HS512, secretKey)
}
public void sendEmail(){
System.out
.println
("Warning, your IP address has been updated"); }
}
QFNlcnZpY2UKcHVibGljIGNsYXNzIEp3dFNlcnZpY2UgewogICAgQFZhbHVlKCIke2p3dC5zZWNyZXRLZXl9IikKICAgIHByaXZhdGUgU3RyaW5nIHNlY3JldEtleTsKCiAgICBAVmFsdWUoIiR7and0LmV4cGlyYXRpb259IikKICAgIHByaXZhdGUgU3RyaW5nIGV4cGlyYXRpb247CgogICAgQFZhbHVlKCIke2p3dC5leHBpcmF0aW9uUmVmcmVzaH0iKQogICAgcHJpdmF0ZSBTdHJpbmcgZXhwaXJhdGlvblJlZnJlc2g7CgoKCiAgICBwdWJsaWMgU3RyaW5nIGdlbmVyYXRlQWNjZXNzVG9rZW4oU3RyaW5nIGd1aWQpIHsKICAgICAgICByZXR1cm4gSnd0cy5idWlsZGVyKCkKICAgICAgICAgICAgICAgIC5zZXRTdWJqZWN0KGd1aWQpCiAgICAgICAgICAgICAgICAuc2V0SXNzdWVkQXQobmV3IERhdGUoKSkKICAgICAgICAgICAgICAgIC5zZXRFeHBpcmF0aW9uKG5ldyBEYXRlKFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpICsgZXhwaXJhdGlvbikpCiAgICAgICAgICAgICAgICAuc2lnbldpdGgoU2lnbmF0dXJlQWxnb3JpdGhtLkhTNTEyLCBzZWNyZXRLZXkpCiAgICAgICAgICAgICAgICAuY29tcGFjdCgpOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2VuZXJhdGVSZWZyZXNoVG9rZW4oU3RyaW5nIGd1aWQpIHsKICAgICAgICByZXR1cm4gSnd0cy5idWlsZGVyKCkKICAgICAgICAgICAgICAgIC5zZXRTdWJqZWN0KGd1aWQpCiAgICAgICAgICAgICAgICAuc2V0SXNzdWVkQXQobmV3IERhdGUoKSkKICAgICAgICAgICAgICAgIC5zZXRFeHBpcmF0aW9uKG5ldyBEYXRlKFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpICsgZXhwaXJhdGlvblJlZnJlc2gpKQogICAgICAgICAgICAgICAgLnNpZ25XaXRoKFNpZ25hdHVyZUFsZ29yaXRobS5IUzUxMiwgc2VjcmV0S2V5KQogICAgICAgICAgICAgICAgLmNvbXBhY3QoKTsKICAgIH0KCiAgICBwdWJsaWMgdm9pZCBzZW5kRW1haWwoKXsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIldhcm5pbmcsIHlvdXIgSVAgYWRkcmVzcyBoYXMgYmVlbiB1cGRhdGVkIik7CiAgICB9Cn0K