View Javadoc
1   package fr.tiogars.domaintemplate.config;
2   
3   import org.springframework.boot.context.properties.ConfigurationProperties;
4   import org.springframework.validation.annotation.Validated;
5   
6   import jakarta.validation.constraints.AssertTrue;
7   import jakarta.validation.constraints.NotBlank;
8   import jakarta.validation.constraints.Positive;
9   
10  /** JWT signing and lifetime settings. */
11  @Validated
12  @ConfigurationProperties(prefix = "app.jwt")
13  public record JwtProperties(
14          @NotBlank String secret,
15          @Positive long expirationSeconds) {
16  
17      @AssertTrue(message = "JWT secret must contain at least 32 characters")
18      boolean isSecretLongEnough() {
19          return secret != null && secret.length() >= 32;
20      }
21  }