packages feed

yesod-auth 1.6.8.1 → 1.6.9

raw patch · 3 files changed

+46/−10 lines, 3 files

Files

ChangeLog.md view
@@ -1,5 +1,10 @@ # ChangeLog for yesod-auth +## 1.6.9++* Added `registerHelper` and `passwordResetHelper` methods to the `YesodAuthEmail` class, allowing for customizing behavior for user registration and forgot password requests [#1660](https://github.com/yesodweb/yesod/pull/1660)+* Exposed `defaultRegisterHelper` as default implementation for the above methods+ ## 1.6.8.1  * Email: Fix typo in `defaultEmailLoginHandler` template [#1605](https://github.com/yesodweb/yesod/pull/1605)
Yesod/Auth/Email.hs view
@@ -113,6 +113,8 @@     , defaultRegisterHandler     , defaultForgotPasswordHandler     , defaultSetPasswordHandler+     -- * Default helpers+    , defaultRegisterHelper     ) where  import           Yesod.Auth@@ -385,6 +387,35 @@       -> AuthHandler site TypedContent     setPasswordHandler = defaultSetPasswordHandler ++    -- | Helper that controls what happens after a user registration+    -- request is submitted. This method can be overridden to completely+    -- customize what happens during the user registration process,+    -- such as for handling additional fields in the registration form.+    --+    -- The default implementation is in terms of 'defaultRegisterHelper'.+    --+    -- @since: 1.6.9+    registerHelper :: Route Auth+                      -- ^ Where to sent the user in the event+                      -- that registration fails+                   -> AuthHandler site TypedContent+    registerHelper = defaultRegisterHelper False False++    -- | Helper that controls what happens after a forgot password+    -- request is submitted. As with `registerHelper`, this method can+    -- be overridden to customize the behavior when a user attempts+    -- to recover their password.+    --+    -- The default implementation is in terms of 'defaultRegisterHelper'.+    --+    -- @since: 1.6.9+    passwordResetHelper :: Route Auth+                           -- ^ Where to sent the user in the event+                           -- that the password reset fails+                        -> AuthHandler site TypedContent+    passwordResetHelper = defaultRegisterHelper True True+ authEmail :: (YesodAuthEmail m) => AuthPlugin m authEmail =     AuthPlugin "email" dispatch emailLoginHandler@@ -516,12 +547,12 @@                                       pass <- obj .:? "password"                                       return (email, pass)) -registerHelper :: YesodAuthEmail master-               => Bool -- ^ allow usernames?-               -> Bool -- ^ forgot password?-               -> Route Auth-               -> AuthHandler master TypedContent-registerHelper allowUsername forgotPassword dest = do+defaultRegisterHelper :: YesodAuthEmail master+                      => Bool -- ^ Allow lookup via username in addition to email+                      -> Bool -- ^ Set to `True` for forgot password flow, `False` for new account registration+                      -> Route Auth+                      -> AuthHandler master TypedContent+defaultRegisterHelper allowUsername forgotPassword dest = do     y <- getYesod     checkCsrfHeaderOrParam defaultCsrfHeaderName defaultCsrfParamName     result <- runInputPostResult $ (,)@@ -549,7 +580,7 @@                     _ -> Nothing      case eidentifier of-      Left route -> loginErrorMessageI dest route+      Left failMsg -> loginErrorMessageI dest failMsg       Right identifier -> do             mecreds <- getEmailCreds identifier             registerCreds <-@@ -586,7 +617,7 @@   postRegisterR :: YesodAuthEmail master => AuthHandler master TypedContent-postRegisterR = registerHelper False False registerR+postRegisterR = registerHelper registerR  getForgotPasswordR :: YesodAuthEmail master => AuthHandler master Html getForgotPasswordR = forgotPasswordHandler@@ -630,7 +661,7 @@         }  postForgotPasswordR :: YesodAuthEmail master => AuthHandler master TypedContent-postForgotPasswordR = registerHelper True True forgotPasswordR+postForgotPasswordR = passwordResetHelper forgotPasswordR  getVerifyR :: YesodAuthEmail site            => AuthEmailId site
yesod-auth.cabal view
@@ -1,5 +1,5 @@ name:            yesod-auth-version:         1.6.8.1+version:         1.6.9 license:         MIT license-file:    LICENSE author:          Michael Snoyman, Patrick Brisbin