From f5f84e830da299486d8a74941b3f32c191b4bf52 Mon Sep 17 00:00:00 2001 From: Kirilll Zaborsky Date: Tue, 9 Apr 2013 09:25:30 +0400 Subject: [PATCH] Added clearCreds symmetric to setCreds function --- yesod-auth/Yesod/Auth.hs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/yesod-auth/Yesod/Auth.hs b/yesod-auth/Yesod/Auth.hs index 415e478a..83ec6492 100644 --- a/yesod-auth/Yesod/Auth.hs +++ b/yesod-auth/Yesod/Auth.hs @@ -18,6 +18,7 @@ module Yesod.Auth -- * Plugin interface , Creds (..) , setCreds + , clearCreds -- * User functions , defaultMaybeAuthId , maybeAuth @@ -184,6 +185,14 @@ $newline never onLogin 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 = do creds <- maybeAuthId @@ -219,11 +228,7 @@ getLogoutR = do setUltDestReferer' >> redirectToPost (tm LogoutR) postLogoutR :: YesodAuth master => GHandler Auth master () -postLogoutR = do - y <- getYesod - deleteSession credsKey - onLogout - redirectUltDest $ logoutDest y +postLogoutR = clearCreds True handlePluginR :: YesodAuth master => Text -> [Text] -> GHandler Auth master () handlePluginR plugin pieces = do