in app/auth/BearerTokenAuth.scala [149:167]
def getVerifier(maybeKeyId:Option[String]) = maybeVerifiers match {
case Some(verifiers) =>
maybeKeyId match {
case Some(kid) =>
logger.info(s"Provided JWT is signed with key ID $kid")
val list = verifiers.getKeys
if (list.size > 1) {
Option(verifiers.getKeyByKeyId(kid))
.map(jwk=>new RSASSAVerifier(jwk.toRSAKey))
} else {
if (list.isEmpty) None else Some(new RSASSAVerifier(list.get(0).toRSAKey))
}
case None =>
logger.info(s"Provided JWT has no key ID, using first available cert")
val list = verifiers.getKeys
if (list.isEmpty) None else Some(new RSASSAVerifier(list.get(0).toRSAKey))
}
case None=>None
}