JwtConfig.java
package io.extact.rms.platform.jwt;
import java.security.Key;
import java.util.function.Function;
import org.eclipse.microprofile.config.Config;
public class JwtConfig {
public static final String CONFIG_PREFIX = "jwt.";
public static final String BEARER_MARK = "Bearer";
private static final long ISSUED_AT_NOW = -1;
private Config config;
public static JwtConfig of(Config config) {
return new JwtConfig(config);
}
JwtConfig(Config config) {
this.config = config;
}
public String getSecretPhrase() {
return config.getValue(CONFIG_PREFIX + "phrass", String.class);
}
public Key getSecretKey(Function<String, Key> keyCreator) {
return keyCreator.apply(getSecretPhrase());
}
public String getIssuer() {
return config.getValue(CONFIG_PREFIX + "claim.issuer", String.class);
}
public boolean isIssuedAtToNow() {
return getIssuedAt() == ISSUED_AT_NOW;
}
public long getIssuedAt() {
return config.getValue(CONFIG_PREFIX + "claim.issuedAt", Long.class);
}
public float getExpirationTime() {
return config.getValue(CONFIG_PREFIX + "claim.exp", Float.class);
}
public int getAllowedClockSeconds() {
return config.getValue(CONFIG_PREFIX + "claim.allowedClockSeconds", Integer.class);
}
public boolean enableFilter() {
return config.getValue(CONFIG_PREFIX + "filter.enable", Boolean.class);
}
}