Packages

case class CookieAuthenticator(id: String, loginInfo: LoginInfo, lastUsedDateTime: ZonedDateTime, expirationDateTime: ZonedDateTime, idleTimeout: Option[FiniteDuration], cookieMaxAge: Option[FiniteDuration], fingerprint: Option[String]) extends StorableAuthenticator with ExpirableAuthenticator with Product with Serializable

An authenticator that uses a stateful as well as stateless, cookie based approach.

It works either by storing an ID in a cookie to track the authenticated user and a server side backing store that maps the ID to an authenticator instance or by a stateless approach that stores the authenticator in a serialized form directly into the cookie. The stateless approach could also be named “server side session”.

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.

With this authenticator it's possible to implement "Remember Me" functionality. This can be achieved by updating the expirationDateTime, idleTimeout or cookieMaxAge properties of this authenticator after it was created and before it gets initialized.

Note: If deploying to multiple nodes the backing store will need to synchronize.

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.

cookieMaxAge

The duration a cookie expires. None for a transient cookie.

fingerprint

Maybe a fingerprint of the user.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CookieAuthenticator
  2. Serializable
  3. Product
  4. Equals
  5. ExpirableAuthenticator
  6. StorableAuthenticator
  7. Authenticator
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CookieAuthenticator(id: String, loginInfo: LoginInfo, lastUsedDateTime: ZonedDateTime, expirationDateTime: ZonedDateTime, idleTimeout: Option[FiniteDuration], cookieMaxAge: Option[FiniteDuration], fingerprint: Option[String])

    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.

    cookieMaxAge

    The duration a cookie expires. None for a transient cookie.

    fingerprint

    Maybe a fingerprint of the user.

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 = Cookie

    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
    CookieAuthenticatorAuthenticator

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. val cookieMaxAge: Option[FiniteDuration]
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. val expirationDateTime: ZonedDateTime

    The expiration date/time.

    The expiration date/time.

    Definition Classes
    CookieAuthenticatorExpirableAuthenticator
  9. val fingerprint: Option[String]
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  11. 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
    CookieAuthenticatorStorableAuthenticator
  12. 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
    CookieAuthenticatorExpirableAuthenticator
  13. 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
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. 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
  16. 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
  17. val lastUsedDateTime: ZonedDateTime

    The last used date/time.

    The last used date/time.

    Definition Classes
    CookieAuthenticatorExpirableAuthenticator
  18. 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
    CookieAuthenticatorAuthenticator
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  22. def productElementNames: Iterator[String]
    Definition Classes
    Product
  23. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

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