yesod-auth-0.7.9: Authentication for Yesod.

Yesod.Auth

Contents

Synopsis

Subsite

data Auth

Instances

(Yesod master, YesodAuth master) => YesodDispatch Auth master 

data AuthPlugin m

Constructors

AuthPlugin 

Fields

apName :: Text
 
apDispatch :: Method -> [Piece] -> GHandler Auth m ()
 
apLogin :: forall s. (Route Auth -> Route m) -> GWidget s m ()
 

getAuth :: a -> Auth

class (Yesod m, SinglePiece (AuthId m), RenderMessage m FormMessage) => YesodAuth m where

Associated Types

type AuthId m

Methods

loginDest :: m -> Route m

Default destination on successful login, if no other destination exists.

logoutDest :: m -> Route m

Default destination on successful logout, if no other destination exists.

getAuthId :: Creds m -> GHandler s m (Maybe (AuthId m))

authPlugins :: [AuthPlugin m]

loginHandler :: GHandler Auth m RepHtml

What to show on the login page.

renderAuthMessage

Arguments

:: m 
-> [Text]

languages

-> AuthMessage 
-> Text 

redirectToReferer :: m -> Bool

After login and logout, redirect to the referring page, instead of loginDest and logoutDest. Default is False.

Plugin interface

data Creds m

User credentials

Constructors

Creds 

Fields

credsPlugin :: Text

How the user was authenticated

credsIdent :: Text

Identifier. Exact meaning depends on plugin.

credsExtra :: [(Text, Text)]
 

setCreds :: YesodAuth m => Bool -> Creds m -> GHandler s m ()

FIXME: won't show up till redirect

User functions

maybeAuthId :: YesodAuth m => GHandler s m (Maybe (AuthId m))

Retrieves user credentials, if user is authenticated.

maybeAuth :: (YesodAuth m, b ~ YesodPersistBackend m, Key b val ~ AuthId m, PersistBackend b (GGHandler s m IO), PersistEntity val, YesodPersist m) => GHandler s m (Maybe (Key b val, val))

requireAuth :: (YesodAuth m, b ~ YesodPersistBackend m, Key b val ~ AuthId m, PersistBackend b (GGHandler s m IO), PersistEntity val, YesodPersist m) => GHandler s m (Key b val, val)