in azure-active-directory-server/src/main/kotlin/org/jetbrains/teamcity/aad/AADAccessTokenManagerImpl.kt [38:60]
override fun validate(token: String): Boolean {
val jwtConsumer = JwtConsumerBuilder()
.setRequireExpirationTime()
.setVerificationKey(key.getKey())
.setJwsAlgorithmConstraints(algorithmConstraints)
.build();
try {
val jwtClaims = jwtConsumer.processToClaims(token)
if (jwtClaims.issuer != serverSettings.serverUUID) {
LOG.warn("Incorrect issuer: ${jwtClaims.issuer}")
return false
}
} catch (e: InvalidJwtException) {
if (e.hasExpired()) {
LOG.info("JWT token has expired", e)
} else {
LOG.warn("Exception occurred during JWT token processing", e)
}
return false
}
return true
}