CSRF

org.http4s.server.middleware.CSRF
See theCSRF companion class
object CSRF

Attributes

Companion
class
Source
CSRF.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
CSRF.type

Members list

Type members

Classlikes

class CSRFBuilder[F[_], G[_]]

Attributes

Source
CSRF.scala
Supertypes
class Object
trait Matchable
class Any
case object CSRFCheckFailed extends Exception, NoStackTrace

Attributes

Source
CSRF.scala
Supertypes
trait Singleton
trait Product
trait Mirror
trait Product
trait Equals
trait NoStackTrace
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type

Types

type CSRFCheck[F[_], G[_]] = (Request[G], F[Response[G]]) => F[Response[G]]

Attributes

Source
CSRF.scala

Attributes

Source
CSRF.scala
type CSRFToken

Attributes

Source
CSRF.scala

Value members

Concrete methods

def apply[F[_] : Sync, G[_] : Applicative](key: SecretKey, headerCheck: Request[G] => Boolean): CSRFBuilder[F, G]

Attributes

Source
CSRF.scala
def buildSigningKey[F[_]](array: Array[Byte])(implicit F: Sync[F]): F[SecretKey]

Build a new HMACSHA1 Key for our CSRF Middleware from key bytes.

Build a new HMACSHA1 Key for our CSRF Middleware from key bytes. This operation is unsafe, in that any amount less than 20 bytes will throw an exception when loaded into Mac. Any keys larger than 64 bytes are just hashed.

For more information, refer to: https://datatracker.ietf.org/doc/html/rfc2104#section-3

Use for loading a key from a config file, after having generated one safely

Attributes

Source
CSRF.scala
def checkCSRFDefault[F[_], G[_]](implicit F: Sync[F]): CSRF[F, G] => F => G

Attributes

Source
CSRF.scala
def checkCSRFinHeaderAndForm[F[_], G[_] : Concurrent](fieldName: String, nt: FunctionK[G, F])(implicit evidence$12: Concurrent[G], F: Sync[F]): CSRF[F, G] => F => G

Attributes

Source
CSRF.scala
def defaultOriginCheck[F[_]](r: Request[F], host: String, sc: Scheme, port: Option[Int]): Boolean

Check origin matches our proposed origin.

Check origin matches our proposed origin.

Attributes

Returns
Source
CSRF.scala
def generateSigningKey[F[_]]()(implicit F: Sync[F]): F[SecretKey]

Generate a signing Key for the CSRF token

Generate a signing Key for the CSRF token

Attributes

Source
CSRF.scala
def isEqual(s1: String, s2: String): Boolean

A Constant-time string equality

A Constant-time string equality

Attributes

Source
CSRF.scala
def proxyOriginCheck[F[_]](r: Request[F], host: Host, xff: X-Forwarded-For): Boolean

Attributes

Source
CSRF.scala

A Constant-time string equality

A Constant-time string equality

Attributes

Source
CSRF.scala

Attributes

Source
CSRF.scala
def withDefaultOriginCheck[F[_] : Sync, G[_] : Applicative](key: SecretKey, host: String, scheme: Scheme, port: Option[Int]): CSRFBuilder[F, G]

Attributes

Source
CSRF.scala
def withDefaultOriginCheckFormAware[F[_] : Sync, G[_] : Concurrent](fieldName: String, nt: FunctionK[G, F])(key: SecretKey, host: String, scheme: Scheme, port: Option[Int]): CSRFBuilder[F, G]

Attributes

Source
CSRF.scala
def withGeneratedKey[F[_] : Sync, G[_] : Applicative](headerCheck: Request[G] => Boolean): F[CSRFBuilder[F, G]]

Attributes

Source
CSRF.scala
def withKeyBytes[F[_] : Sync, G[_] : Applicative](keyBytes: Array[Byte], headerCheck: Request[G] => Boolean): F[CSRFBuilder[F, G]]

Attributes

Source
CSRF.scala

Concrete fields

Attributes

Source
CSRF.scala

Attributes

Source
CSRF.scala

Deprecated fields

Attributes

Deprecated
true
Source
CSRF.scala