servant-0.20.2: A family of combinators for defining webservices APIs

Safe Haskell | None
Language | Haskell2010

Servant.API.BasicAuth

Synopsis

- data BasicAuth (realm :: Symbol) userData
- data BasicAuthData = BasicAuthData {
  - basicAuthUsername :: !ByteString
  - basicAuthPassword :: !ByteString
  }

# Documentation

data BasicAuth (realm :: Symbol) userData #

Combinator for Basic Access Authentication.

- IMPORTANT*: Only use Basic Auth over HTTPS! Credentials are not hashed or encrypted. Note also that because the same credentials are sent on every request, Basic Auth is not as secure as some alternatives. Further, the implementation in servant-server does not protect against some types of timing attacks.

In Basic Auth, username and password are base64-encoded and transmitted via the `Authorization` header. Handshakes are not required, making it relatively efficient.

#### Instances

Instances details

HasLink sub => HasLink (BasicAuth realm a :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a0) -> Proxy (BasicAuth realm a :> sub) -> Link -> MkLink (BasicAuth realm a :> sub) a0 #
type MkLink (BasicAuth realm a :> sub :: Type) r # |
Instance details Defined in Servant.Links type MkLink (BasicAuth realm a :> sub :: Type) r = MkLink sub r

data BasicAuthData #

A simple datatype to hold data required to decorate a request

Constructors

BasicAuthData |
Fields basicAuthUsername :: !ByteString basicAuthPassword :: !ByteString