Spring Security

[Spring Boot] ํ…Œ์ŠคํŠธ์ฝ”๋“œ์—์„œ ๋กฌ๋ณต import์•ˆ๋จ

์šฐ์ฃผ๋ฌผ๊ณ ๊ธฐ 2025. 5. 4. 12:51
๋ฐ˜์‘ํ˜•
@Getter
public class JwtFactory {

    private String subject = "test1@email.com";
    private Date issuedAt = new Date();
    private Date expiration = new Date(new Date().getTime() + Duration.ofDays(14).toMillis());
    private Map<String, Object> claims = emptyMap();

    // ๋นŒ๋” ํŒจํ„ด ์จ์„œ ์„ค์ •์ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์„ ํƒ ์„ค์ •
    @Builder
    public JwtFactory(String subject, Date issuedAt, Date expiration, Map<String, Object> claims) {
        this.subject = subject != null ? subject : this.subject;
        this.issuedAt = issuedAt != null ? issuedAt : this.issuedAt;
        this.expiration = expiration != null ? expiration : this.expiration;
        this.claims = claims != null ? claims : emptyMap();
    }

    public static JwtFactory withDefaultValues() {
        return JwtFactory.builder().build();
    }

    public String createToken(JwtProperties jwtProperties) {
        return Jwts.builder()
                .setSubject(subject)
                .setHeaderParam(Header.TYPE, Header.JWT_TYPE)
                .setIssuer(jwtProperties.getIssuer())
                .setIssuedAt(issuedAt)
                .setExpiration(expiration)
                .addClaims(claims)
                .signWith(SignatureAlgorithm.HS256, jwtProperties.getSecretKey())
                .compact();
    }

}

 

 

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์งœ๋Š” ์ค‘์ธ๋ฐ ๋กฌ๋ณต ์ธ์‹์ด ์•ˆ๋จ

โ€‹

build.gradle์— ์ถ”๊ฐ€ํ•ด๋ณด๋ผ๊ณ  ํ•˜๋Š”๊ฑฐ ๋‹ค ํ•ด๋ดค๋Š”๋ฐ ์•ˆ๋จ

โ€‹

โ€‹

โ€‹

โ€‹

โ€‹

โ€‹

๊ฑ ๋งจ ์œ„์ชฝ importํ•˜๋Š” ๊ณณ์—

import lombok.Builder;
import lombok.Getter;

 

 

์ถ”๊ฐ€ํ–ˆ๋”๋‹ˆ ๋จ

ใ…‹ใ…‹

 

๋ฐ˜์‘ํ˜•