Packages

class CsrfStateItemHandler extends SocialStateItemHandler with api.Logger with PublishableSocialStateItemHandler

Protects the application against CSRF attacks.

The handler stores a unique token in provider state and the same token in a signed client side cookie. After the provider redirects back to the application both tokens will be compared. If both tokens are the same than the application can trust the redirect source.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CsrfStateItemHandler
  2. PublishableSocialStateItemHandler
  3. Logger
  4. SocialStateItemHandler
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CsrfStateItemHandler(settings: CsrfStateSettings, idGenerator: IDGenerator, signer: Signer)

    settings

    The state settings.

    idGenerator

    The ID generator used to create the state value.

    signer

    The signer implementation.

    Annotations
    @Inject()

Type Members

  1. type Item = CsrfStateItem

    The item the handler can handle.

    The item the handler can handle.

    Definition Classes
    CsrfStateItemHandlerSocialStateItemHandler

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 canHandle[B](item: ItemStructure)(implicit request: ExtractableRequest[B]): Boolean

    Indicates if a handler can handle the given unserialized state item.

    Indicates if a handler can handle the given unserialized state item.

    This method should check if the unserialize method of this handler can unserialize the given serialized state item.

    B

    The type of the request body.

    item

    The item to check for.

    request

    The request instance to get additional data to validate against.

    returns

    True if the handler can handle the given state item, false otherwise.

    Definition Classes
    CsrfStateItemHandlerSocialStateItemHandler
  6. def canHandle(item: SocialStateItem): Option[Item]

    Indicates if a handler can handle the given SocialStateItem.

    Indicates if a handler can handle the given SocialStateItem.

    This method should check if the serialize method of this handler can serialize the given unserialized state item.

    item

    The item to check for.

    returns

    Some[Item] casted state item if the handler can handle the given state item, None otherwise.

    Definition Classes
    CsrfStateItemHandlerSocialStateItemHandler
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def item(implicit ec: ExecutionContext): Future[Item]

    Gets the state item the handler can handle.

    Gets the state item the handler can handle.

    ec

    The execution context to handle the asynchronous operations.

    returns

    The state params the handler can handle.

    Definition Classes
    CsrfStateItemHandlerSocialStateItemHandler
  14. val logger: api.Logger

    A named logger instance.

    A named logger instance.

    Definition Classes
    Logger
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  18. def publish[B](item: Item, result: Result)(implicit request: ExtractableRequest[B]): Result

    Publishes the CSRF token to the client.

    Publishes the CSRF token to the client.

    B

    The type of the request body.

    item

    The item to publish.

    result

    The result to send to the client.

    request

    The current request.

    returns

    The result to send to the client.

    Definition Classes
    CsrfStateItemHandlerPublishableSocialStateItemHandler
  19. def serialize(item: Item): ItemStructure

    Returns a serialized value of the state item.

    Returns a serialized value of the state item.

    item

    The state item to serialize.

    returns

    The serialized state item.

    Definition Classes
    CsrfStateItemHandlerSocialStateItemHandler
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. def unserialize[B](item: ItemStructure)(implicit request: ExtractableRequest[B], ec: ExecutionContext): Future[Item]

    Unserializes the state item.

    Unserializes the state item.

    B

    The type of the request body.

    item

    The state item to unserialize.

    request

    The request instance to get additional data to validate against.

    ec

    The execution context to handle the asynchronous operations.

    returns

    The unserialized state item.

    Definition Classes
    CsrfStateItemHandlerSocialStateItemHandler
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. 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 api.Logger

Inherited from SocialStateItemHandler

Inherited from AnyRef

Inherited from Any

Ungrouped