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;
์ถ๊ฐํ๋๋ ๋จ
ใ ใ
๋ฐ์ํ