com.mohiva.play.silhouette.impl.authenticators

JWTAuthenticator

case class JWTAuthenticator(id: String, loginInfo: LoginInfo, lastUsedDateTime: DateTime, expirationDateTime: DateTime, idleTimeout: Option[FiniteDuration], customClaims: Option[JsObject] = scala.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

https://developer.atlassian.com/static/connect/docs/concepts/understanding-jwt.html

http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html#Claims

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. JWTAuthenticator
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ExpirableAuthenticator
  7. StorableAuthenticator
  8. Authenticator
  9. AnyRef
  10. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JWTAuthenticator(id: String, loginInfo: LoginInfo, lastUsedDateTime: DateTime, expirationDateTime: DateTime, idleTimeout: Option[FiniteDuration], customClaims: Option[JsObject] = scala.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

  1. abstract type Settings

    The type of the settings an authenticator can handle.

    The type of the settings an authenticator can handle.

    Definition Classes
    Authenticator
  2. 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
    JWTAuthenticatorAuthenticator

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. val customClaims: Option[JsObject]

    Custom claims to embed into the token.

  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. val expirationDateTime: DateTime

    The expiration date/time.

    The expiration date/time.

    Definition Classes
    JWTAuthenticatorExpirableAuthenticator
  11. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  13. val id: String

    The authenticator ID.

    The authenticator ID.

    Definition Classes
    JWTAuthenticatorStorableAuthenticator
  14. 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
    JWTAuthenticatorExpirableAuthenticator
  15. 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
  16. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  17. 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
  18. 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
    ExpirableAuthenticatorAuthenticator
  19. val lastUsedDateTime: DateTime

    The last used date/time.

    The last used date/time.

    Definition Classes
    JWTAuthenticatorExpirableAuthenticator
  20. val loginInfo: LoginInfo

    The linked login info for an identity.

    The linked login info for an identity.

    Definition Classes
    JWTAuthenticatorAuthenticator
  21. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  24. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  25. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from ExpirableAuthenticator

Inherited from StorableAuthenticator

Inherited from Authenticator

Inherited from AnyRef

Inherited from Any

Ungrouped