Merge pull request #1537 from kikaiteam/fix_forgot_pass_endpoint
AuthEmail: Fix forgot-password endpoint
This commit is contained in:
commit
b7a3385a89
@ -1,5 +1,8 @@
|
||||
# ChangeLog for yesod-auth
|
||||
|
||||
## 1.6.4.1
|
||||
* Email: Fix forgot-password endpoint [#1537](https://github.com/yesodweb/yesod/pull/1537)
|
||||
|
||||
## 1.6.4
|
||||
|
||||
* Make `registerHelper` configurable [#1524](https://github.com/yesodweb/yesod/issues/1524)
|
||||
|
||||
@ -518,10 +518,10 @@ parseRegister = withObject "email" (\obj -> do
|
||||
|
||||
registerHelper :: YesodAuthEmail master
|
||||
=> Bool -- ^ allow usernames?
|
||||
-> Bool -- ^ allow password?
|
||||
-> Bool -- ^ forgot password?
|
||||
-> Route Auth
|
||||
-> AuthHandler master TypedContent
|
||||
registerHelper allowUsername allowPassword dest = do
|
||||
registerHelper allowUsername forgotPassword dest = do
|
||||
y <- getYesod
|
||||
checkCsrfHeaderOrParam defaultCsrfHeaderName defaultCsrfParamName
|
||||
result <- runInputPostResult $ (,)
|
||||
@ -544,8 +544,8 @@ registerHelper allowUsername allowPassword dest = do
|
||||
| allowUsername -> Right $ TS.strip x
|
||||
| otherwise -> Left Msg.InvalidEmailAddress
|
||||
|
||||
let mpass = case (allowPassword, creds) of
|
||||
(True, Just (_, mp)) -> mp
|
||||
let mpass = case (forgotPassword, creds) of
|
||||
(False, Just (_, mp)) -> mp
|
||||
_ -> Nothing
|
||||
|
||||
case eidentifier of
|
||||
@ -573,9 +573,10 @@ registerHelper allowUsername allowPassword dest = do
|
||||
Nothing -> loginErrorMessageI dest (Msg.IdentifierNotFound identifier)
|
||||
Just creds@(_, False, _, _) -> sendConfirmationEmail creds
|
||||
Just creds@(_, True, _, _) -> do
|
||||
case emailPreviouslyRegisteredResponse identifier of
|
||||
Just response -> response
|
||||
Nothing -> sendConfirmationEmail creds
|
||||
if forgotPassword then sendConfirmationEmail creds
|
||||
else case emailPreviouslyRegisteredResponse identifier of
|
||||
Just response -> response
|
||||
Nothing -> sendConfirmationEmail creds
|
||||
where sendConfirmationEmail (lid, _, verKey, email) = do
|
||||
render <- getUrlRender
|
||||
tp <- getRouteToParent
|
||||
@ -585,7 +586,7 @@ registerHelper allowUsername allowPassword dest = do
|
||||
|
||||
|
||||
postRegisterR :: YesodAuthEmail master => AuthHandler master TypedContent
|
||||
postRegisterR = registerHelper False True registerR
|
||||
postRegisterR = registerHelper False False registerR
|
||||
|
||||
getForgotPasswordR :: YesodAuthEmail master => AuthHandler master Html
|
||||
getForgotPasswordR = forgotPasswordHandler
|
||||
@ -629,7 +630,7 @@ defaultForgotPasswordHandler = do
|
||||
}
|
||||
|
||||
postForgotPasswordR :: YesodAuthEmail master => AuthHandler master TypedContent
|
||||
postForgotPasswordR = registerHelper True False forgotPasswordR
|
||||
postForgotPasswordR = registerHelper True True forgotPasswordR
|
||||
|
||||
getVerifyR :: YesodAuthEmail site
|
||||
=> AuthEmailId site
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
name: yesod-auth
|
||||
version: 1.6.4
|
||||
version: 1.6.4.1
|
||||
license: MIT
|
||||
license-file: LICENSE
|
||||
author: Michael Snoyman, Patrick Brisbin
|
||||
|
||||
Loading…
Reference in New Issue
Block a user