yesod-auth-1.1.2.1: Authentication for Yesod.

Safe HaskellNone

Yesod.Auth

Contents

Synopsis

Subsite

data Auth Source

Instances

data family Route a1

The type-safe URLs associated with a site argument.

data AuthPlugin m Source

Constructors

AuthPlugin 

Fields

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

class (Yesod m, PathPiece (AuthId m), RenderMessage m FormMessage) => YesodAuth m whereSource

Associated Types

type AuthId m Source

Methods

loginDest :: m -> Route mSource

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

logoutDest :: m -> Route mSource

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

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

Determine the ID associated with the set of credentials.

authPlugins :: m -> [AuthPlugin m]Source

Which authentication backends to use.

loginHandler :: GHandler Auth m RepHtmlSource

What to show on the login page.

renderAuthMessageSource

Arguments

:: m 
-> [Text]

languages

-> AuthMessage 
-> Text 

Used for i18n of messages provided by this package.

redirectToReferer :: m -> BoolSource

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

authHttpManager :: m -> ManagerSource

onLogin :: GHandler s m ()Source

Called on a successful login. By default, calls setMessageI NowLoggedIn.

onLogout :: GHandler s m ()Source

Called on logout. By default, does nothing

maybeAuthId :: GHandler s m (Maybe (AuthId m))Source

Retrieves user credentials, if user is authenticated.

By default, this calls defaultMaybeAuthId to get the user ID from the session. This can be overridden to allow authentication via other means, such as checking for a special token in a request header. This is especially useful for creating an API to be accessed via some means other than a browser.

Since 1.1.2

Plugin interface

data Creds m Source

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 ()Source

FIXME: won't show up till redirect

User functions

defaultMaybeAuthId :: YesodAuth m => GHandler s m (Maybe (AuthId m))Source

Retrieves user credentials from the session, if user is authenticated.

Since 1.1.2

Exception