c
com.digitalasset.canton.ledger.api.auth
CachedJwtVerifierLoader
Companion object CachedJwtVerifierLoader
class CachedJwtVerifierLoader extends JwtVerifierLoader
A JWK verifier loader, where the public keys are automatically fetched from the given JWKS URL. The keys are then transformed into JWK Verifier
The verifiers are kept in cache, in order to prevent having to do a remote network access for each token validation.
The cache is limited both in size and time. A size limit protects against infinitely growing memory consumption. A time limit is a safety catch for the case where a public key is used to sign a token without an expiration time and then is revoked.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- CachedJwtVerifierLoader
- JwtVerifierLoader
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new CachedJwtVerifierLoader(cacheMaxSize: Long = 1000, cacheExpirationTime: Long = 10, cacheExpirationUnit: TimeUnit = TimeUnit.HOURS, connectionTimeout: Long = 10, connectionTimeoutUnit: TimeUnit = TimeUnit.SECONDS, readTimeout: Long = 10, readTimeoutUnit: TimeUnit = TimeUnit.SECONDS, jwtTimestampLeeway: Option[JwtTimestampLeeway] = None, metrics: Metrics)(implicit executionContext: ExecutionContext)
- cacheMaxSize
Maximum number of public keys to keep in the cache.
- cacheExpirationTime
Maximum time to keep public keys in the cache.
- connectionTimeout
Timeout for connecting to the JWKS URL.
- readTimeout
Timeout for reading from the JWKS URL.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def loadJwtVerifier(jwksUrl: JwksUrl, keyId: Option[String]): Future[JwtVerifier]
- Definition Classes
- CachedJwtVerifierLoader → JwtVerifierLoader
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])