Merge pull request #1598 from StevenXL/update-clearcreds

clearCreds redirect behavior depends on request type.
This commit is contained in:
Steven Leiva 2019-05-24 10:20:55 -05:00 committed by GitHub
commit c90c50911c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 5 deletions

View file

@ -1,5 +1,9 @@
# ChangeLog for yesod-auth
## 1.6.7
* Redirect behavior of `clearCreds` depends on request type [#1598](https://github.com/yesodweb/yesod/pull/1598)
## 1.6.6
* Deprecated `Yesod.Auth.GoogleEmail2`, see [#1579](https://github.com/yesodweb/yesod/issues/1579) and [migration blog post](https://pbrisbin.com/posts/googleemail2_deprecation/)

View file

@ -421,14 +421,20 @@ authLayoutJson w json = selectRep $ do
--
-- @since 1.1.7
clearCreds :: (MonadHandler m, YesodAuth (HandlerSite m))
=> Bool -- ^ if HTTP redirect to 'logoutDest' should be done
=> Bool -- ^ if HTTP, redirect to 'logoutDest'
-> m ()
clearCreds doRedirects = do
y <- getYesod
onLogout
deleteSession credsKey
when doRedirects $ do
redirectUltDest $ logoutDest y
y <- getYesod
aj <- acceptsJson
case (aj, doRedirects) of
(True, _) -> sendResponse successfulLogout
(False, True) -> redirectUltDest (logoutDest y)
_ -> return ()
where successfulLogout = object ["message" .= msg]
msg :: Text
msg = "Logged out successfully!"
getCheckR :: AuthHandler master TypedContent
getCheckR = do

View file

@ -1,5 +1,5 @@
name: yesod-auth
version: 1.6.6
version: 1.6.7
license: MIT
license-file: LICENSE
author: Michael Snoyman, Patrick Brisbin