Added clearCreds symmetric to setCreds function

This commit is contained in:
Kirilll Zaborsky 2013-04-09 09:25:30 +04:00
parent 48db89cb45
commit f5f84e830d

View File

@ -18,6 +18,7 @@ module Yesod.Auth
-- * Plugin interface -- * Plugin interface
, Creds (..) , Creds (..)
, setCreds , setCreds
, clearCreds
-- * User functions -- * User functions
, defaultMaybeAuthId , defaultMaybeAuthId
, maybeAuth , maybeAuth
@ -184,6 +185,14 @@ $newline never
onLogin onLogin
redirectUltDest $ loginDest y redirectUltDest $ loginDest y
clearCreds :: YesodAuth master => Bool -> GHandler sub master ()
clearCreds doRedirects = do
y <- getYesod
deleteSession credsKey
when doRedirects $ do
onLogout
redirectUltDest $ logoutDest y
getCheckR :: YesodAuth master => GHandler Auth master RepHtmlJson getCheckR :: YesodAuth master => GHandler Auth master RepHtmlJson
getCheckR = do getCheckR = do
creds <- maybeAuthId creds <- maybeAuthId
@ -219,11 +228,7 @@ getLogoutR = do
setUltDestReferer' >> redirectToPost (tm LogoutR) setUltDestReferer' >> redirectToPost (tm LogoutR)
postLogoutR :: YesodAuth master => GHandler Auth master () postLogoutR :: YesodAuth master => GHandler Auth master ()
postLogoutR = do postLogoutR = clearCreds True
y <- getYesod
deleteSession credsKey
onLogout
redirectUltDest $ logoutDest y
handlePluginR :: YesodAuth master => Text -> [Text] -> GHandler Auth master () handlePluginR :: YesodAuth master => Text -> [Text] -> GHandler Auth master ()
handlePluginR plugin pieces = do handlePluginR plugin pieces = do