in src/main/java/org/apache/pulsar/manager/service/impl/JwtServiceImpl.java [114:135]
public String createBrokerToken(String role, String expiryTime) {
Key signingKey;
if (jwtBrokerTokenMode.equals("SECRET")) {
signingKey = decodeBySecretKey();
} else if (jwtBrokerTokenMode.equals("PRIVATE")){
signingKey = decodeByPrivateKey();
} else {
log.info("Default disable JWT auth, please set jwt.broker.token.mode.");
return null;
}
if (signingKey == null) {
log.error("JWT Auth failed, signingKey is not empty");
return null;
}
Optional<Date> optExpiryTime = Optional.empty();
if (expiryTime != null) {
long relativeTimeMillis = TimeUnit.SECONDS
.toMillis(RelativeTimeUtil.parseRelativeTimeInSeconds(expiryTime));
optExpiryTime = Optional.of(new Date(System.currentTimeMillis() + relativeTimeMillis));
}
return AuthTokenUtils.createToken(signingKey, role, optExpiryTime);
}