wai-extra-3.0.8.2: Provides some basic WAI handlers and middleware.

Safe HaskellNone
LanguageHaskell98

Network.Wai.Middleware.HttpAuth

Contents

Description

Implements HTTP Basic Authentication.

This module may add digest authentication in the future.

Synopsis

Middleware

basicAuth :: CheckCreds -> AuthSettings -> Middleware Source

Perform basic authentication.

basicAuth (\u p -> return $ u == "michael" && p == "mypass") "My Realm"

Since 1.3.4

type CheckCreds = ByteString -> ByteString -> IO Bool Source

Check if a given username and password is valid.

data AuthSettings Source

Basic authentication settings. This value is an instance of IsString, so the recommended approach to create a value is to provide a string literal (which will be the realm) and then overriding individual fields.

"My Realm" { authIsProtected = someFunc } :: AuthSettings

Since 1.3.4

authOnNoAuth :: AuthSettings -> ByteString -> Application Source

Takes the realm and returns an appropriate 401 response when authentication is not provided.

Since 1.3.4

authIsProtected :: AuthSettings -> Request -> IO Bool Source

Determine if access to the requested resource is restricted.

Default: always returns True.

Since 1.3.4

Helping functions

extractBasicAuth :: ByteString -> Maybe (ByteString, ByteString) Source

Extract basic authentication data from usually Authorization header value. Returns username and password

Since 3.0.5

extractBearerAuth :: ByteString -> Maybe ByteString Source

Extract bearer authentication data from Authorization header value. Returns bearer token

Since 3.0.5