JwtProperties.java
package fr.tiogars.domaintemplate.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated;
import jakarta.validation.constraints.AssertTrue;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Positive;
/** JWT signing and lifetime settings. */
@Validated
@ConfigurationProperties(prefix = "app.jwt")
public record JwtProperties(
@NotBlank String secret,
@Positive long expirationSeconds) {
@AssertTrue(message = "JWT secret must contain at least 32 characters")
boolean isSecretLongEnough() {
return secret != null && secret.length() >= 32;
}
}