Safe Haskell | None |
---|---|
Language | Haskell2010 |
Servant.Server.Internal.BasicAuth
Contents
Synopsis
- data BasicAuthResult usr
- = Unauthorized
- | BadPassword
- | NoSuchUser
- | Authorized usr
- newtype BasicAuthCheck usr = BasicAuthCheck {
- unBasicAuthCheck :: BasicAuthData -> IO (BasicAuthResult usr)
- mkBAChallengerHdr :: ByteString -> Header
- decodeBAHdr :: Request -> Maybe BasicAuthData
- runBasicAuth :: Request -> ByteString -> BasicAuthCheck usr -> DelayedIO usr
Basic Auth
data BasicAuthResult usr Source #
servant-server's current implementation of basic authentication is not immune to certain kinds of timing attacks. Decoding payloads does not take a fixed amount of time.
The result of authentication/authorization
Constructors
Unauthorized | |
BadPassword | |
NoSuchUser | |
Authorized usr |
Instances
Functor BasicAuthResult Source # | |||||
Defined in Servant.Server.Internal.BasicAuth Methods fmap :: (a -> b) -> BasicAuthResult a -> BasicAuthResult b (<$) :: a -> BasicAuthResult b -> BasicAuthResult a | |||||
Generic (BasicAuthResult usr) Source # | |||||
Defined in Servant.Server.Internal.BasicAuth Associated Types
Methods from :: BasicAuthResult usr -> Rep (BasicAuthResult usr) x to :: Rep (BasicAuthResult usr) x -> BasicAuthResult usr | |||||
Read usr => Read (BasicAuthResult usr) Source # | |||||
Defined in Servant.Server.Internal.BasicAuth Methods readsPrec :: Int -> ReadS (BasicAuthResult usr) readList :: ReadS [BasicAuthResult usr] readPrec :: ReadPrec (BasicAuthResult usr) readListPrec :: ReadPrec [BasicAuthResult usr] | |||||
Show usr => Show (BasicAuthResult usr) Source # | |||||
Defined in Servant.Server.Internal.BasicAuth Methods showsPrec :: Int -> BasicAuthResult usr -> ShowS show :: BasicAuthResult usr -> String showList :: [BasicAuthResult usr] -> ShowS | |||||
Eq usr => Eq (BasicAuthResult usr) Source # | |||||
Defined in Servant.Server.Internal.BasicAuth Methods (==) :: BasicAuthResult usr -> BasicAuthResult usr -> Bool (/=) :: BasicAuthResult usr -> BasicAuthResult usr -> Bool | |||||
type Rep (BasicAuthResult usr) Source # | |||||
Defined in Servant.Server.Internal.BasicAuth type Rep (BasicAuthResult usr) = D1 ('MetaData "BasicAuthResult" "Servant.Server.Internal.BasicAuth" "servant-server-0.20.2-grvov9l9wo8ZoGlIfrF6F" 'False) ((C1 ('MetaCons "Unauthorized" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BadPassword" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NoSuchUser" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Authorized" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 usr)))) |
newtype BasicAuthCheck usr Source #
Datatype wrapping a function used to check authentication.
Constructors
BasicAuthCheck | |
Fields
|
Instances
Functor BasicAuthCheck Source # | |||||
Defined in Servant.Server.Internal.BasicAuth Methods fmap :: (a -> b) -> BasicAuthCheck a -> BasicAuthCheck b (<$) :: a -> BasicAuthCheck b -> BasicAuthCheck a | |||||
Generic (BasicAuthCheck usr) Source # | |||||
Defined in Servant.Server.Internal.BasicAuth Associated Types
Methods from :: BasicAuthCheck usr -> Rep (BasicAuthCheck usr) x to :: Rep (BasicAuthCheck usr) x -> BasicAuthCheck usr | |||||
type Rep (BasicAuthCheck usr) Source # | |||||
Defined in Servant.Server.Internal.BasicAuth type Rep (BasicAuthCheck usr) = D1 ('MetaData "BasicAuthCheck" "Servant.Server.Internal.BasicAuth" "servant-server-0.20.2-grvov9l9wo8ZoGlIfrF6F" 'True) (C1 ('MetaCons "BasicAuthCheck" 'PrefixI 'True) (S1 ('MetaSel ('Just "unBasicAuthCheck") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BasicAuthData -> IO (BasicAuthResult usr))))) |
mkBAChallengerHdr :: ByteString -> Header Source #
Internal method to make a basic-auth challenge
decodeBAHdr :: Request -> Maybe BasicAuthData Source #
Find and decode an Authorization
header from the request as Basic Auth
runBasicAuth :: Request -> ByteString -> BasicAuthCheck usr -> DelayedIO usr Source #
Run and check basic authentication, returning the appropriate http error per the spec.