{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE OverloadedStrings #-}
module Snap.Snaplet.Auth
(
createUser
, usernameExists
, saveUser
, destroyUser
, loginByUsername
, loginByRememberToken
, forceLogin
, logout
, currentUser
, isLoggedIn
, markAuthSuccess
, markAuthFail
, checkPasswordAndLogin
, AuthManager(..)
, IAuthBackend(..)
, AuthSettings(..)
, defAuthSettings
, AuthUser(..)
, defAuthUser
, UserId(..)
, Password(..)
, AuthFailure(..)
, Role(..)
, authSettingsFromConfig
, withBackend
, encryptPassword
, checkPassword
, authenticatePassword
, setPassword
, encrypt
, verify
, registerUser
, loginUser
, logoutUser
, requireUser
, setPasswordResetToken
, clearPasswordResetToken
, addAuthSplices
, compiledAuthSplices
, userCSplices
, userISplices
, ifLoggedIn
, ifLoggedOut
, loggedInUser
)
where
import Snap.Snaplet.Auth.AuthManager
import Snap.Snaplet.Auth.Handlers
import Snap.Snaplet.Auth.SpliceHelpers
import Snap.Snaplet.Auth.Types