case class JWTAuthenticator(id: String, loginInfo: LoginInfo, lastUsedDateTime: ZonedDateTime, expirationDateTime: ZonedDateTime, idleTimeout: Option[FiniteDuration], customClaims: Option[JsObject] = None) extends StorableAuthenticator with ExpirableAuthenticator with Product with Serializable
An authenticator that uses a header based approach with the help of a JWT. It works by using a JWT to transport the authenticator data inside a user defined header. It can be stateless with the disadvantages that the JWT can't be invalidated.
The authenticator can use sliding window expiration. This means that the authenticator times out after a certain time if it wasn't used. This can be controlled with the idleTimeout property. If this feature is activated then a new token will be generated on every update. Make sure your application can handle this case.
- id
The authenticator ID.
- loginInfo
The linked login info for an identity.
- lastUsedDateTime
The last used date/time.
- expirationDateTime
The expiration date/time.
- idleTimeout
The duration an authenticator can be idle before it timed out.
- customClaims
Custom claims to embed into the token.
- See also
http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html#Claims
https://developer.atlassian.com/static/connect/docs/concepts/understanding-jwt.html
- Alphabetic
- By Inheritance
- JWTAuthenticator
- Serializable
- Product
- Equals
- ExpirableAuthenticator
- StorableAuthenticator
- Authenticator
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new JWTAuthenticator(id: String, loginInfo: LoginInfo, lastUsedDateTime: ZonedDateTime, expirationDateTime: ZonedDateTime, idleTimeout: Option[FiniteDuration], customClaims: Option[JsObject] = None)
- id
The authenticator ID.
- loginInfo
The linked login info for an identity.
- lastUsedDateTime
The last used date/time.
- expirationDateTime
The expiration date/time.
- idleTimeout
The duration an authenticator can be idle before it timed out.
- customClaims
Custom claims to embed into the token.
Type Members
- abstract type Settings
The type of the settings an authenticator can handle.
The type of the settings an authenticator can handle.
- Definition Classes
- Authenticator
- type Value = String
The Type of the generated value an authenticator will be serialized to.
The Type of the generated value an authenticator will be serialized to.
- Definition Classes
- JWTAuthenticator → Authenticator
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]) @IntrinsicCandidate() @native()
- val customClaims: Option[JsObject]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val expirationDateTime: ZonedDateTime
The expiration date/time.
The expiration date/time.
- Definition Classes
- JWTAuthenticator → ExpirableAuthenticator
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- val id: String
Gets the ID to reference the authenticator in the backing store.
Gets the ID to reference the authenticator in the backing store.
- returns
The ID to reference the authenticator in the backing store.
- Definition Classes
- JWTAuthenticator → StorableAuthenticator
- val idleTimeout: Option[FiniteDuration]
The duration an authenticator can be idle before it timed out.
The duration an authenticator can be idle before it timed out.
- Definition Classes
- JWTAuthenticator → ExpirableAuthenticator
- def isExpired: Boolean
Checks if the authenticator is expired.
Checks if the authenticator is expired. This is an absolute timeout since the creation of the authenticator.
- returns
True if the authenticator is expired, false otherwise.
- Definition Classes
- ExpirableAuthenticator
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isTimedOut: Boolean
Checks if the time elapsed since the last time the authenticator was used, is longer than the maximum idle timeout specified in the properties.
Checks if the time elapsed since the last time the authenticator was used, is longer than the maximum idle timeout specified in the properties.
- returns
True if sliding window expiration is activated and the authenticator is timed out, false otherwise.
- Definition Classes
- ExpirableAuthenticator
- def isValid: Boolean
Checks if the authenticator isn't expired and isn't timed out.
Checks if the authenticator isn't expired and isn't timed out.
- returns
True if the authenticator isn't expired and isn't timed out.
- Definition Classes
- ExpirableAuthenticator → Authenticator
- val lastUsedDateTime: ZonedDateTime
The last used date/time.
The last used date/time.
- Definition Classes
- JWTAuthenticator → ExpirableAuthenticator
- val loginInfo: LoginInfo
Gets the linked login info for an identity.
Gets the linked login info for an identity.
- returns
The linked login info for an identity.
- Definition Classes
- JWTAuthenticator → Authenticator
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)