yesod-auth 1.4.13.5 → 1.4.14
raw patch · 5 files changed
+18/−16 lines, 5 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Yesod.Auth.Email: class (YesodAuth site, PathPiece (AuthEmailId site), RenderMessage site AuthMessage) => YesodAuthEmail site where type AuthEmailId site randomKey _ = nonce128urlT defaultNonceGen needOldPassword aid' = do { mkey <- lookupSession loginLinkKey; case mkey >>= readMay . unpack of { Just (aidT, time) | Just aid <- fromPathPiece aidT, toPathPiece (aid `asTypeOf` aid') == toPathPiece aid' -> do { now <- liftIO getCurrentTime; return $ addUTCTime (60 * 30) time <= now } _ -> return True } } checkPasswordSecurity _ x | length x >= 3 = return $ Right () | otherwise = return $ Left "Password must be at least three characters" confirmationEmailSentResponse identifier = do { mr <- getMessageRender; selectRep $ do { provideJsonMessage (mr msg); provideRep $ authLayout $ do { setTitleI ConfirmationEmailSentTitle; (do { (asWidgetT . toWidget) ((preEscapedText . pack) "<p>"); ((fmap (toHtml .) getMessageRender) >>= (\ urender_aOLt -> (asWidgetT . toWidget) (urender_aOLt msg))); (asWidgetT . toWidget) ((preEscapedText . pack) "</p>\n") }) } } } where msg = ConfirmationEmailSent identifier normalizeEmailAddress _ = toLower registerHandler = defaultRegisterHandler forgotPasswordHandler = defaultForgotPasswordHandler setPasswordHandler = defaultSetPasswordHandler where {
+ Yesod.Auth.Email: class (YesodAuth site, PathPiece (AuthEmailId site), RenderMessage site AuthMessage) => YesodAuthEmail site where type AuthEmailId site randomKey _ = nonce128urlT defaultNonceGen needOldPassword aid' = do { mkey <- lookupSession loginLinkKey; case mkey >>= readMay . unpack of { Just (aidT, time) | Just aid <- fromPathPiece aidT, toPathPiece (aid `asTypeOf` aid') == toPathPiece aid' -> do { now <- liftIO getCurrentTime; return $ addUTCTime (60 * 30) time <= now } _ -> return True } } checkPasswordSecurity _ x | length x >= 3 = return $ Right () | otherwise = return $ Left "Password must be at least three characters" confirmationEmailSentResponse identifier = do { mr <- getMessageRender; selectRep $ do { provideJsonMessage (mr msg); provideRep $ authLayout $ do { setTitleI ConfirmationEmailSentTitle; (do { (asWidgetT . toWidget) ((preEscapedText . pack) "<p>"); ((fmap (toHtml .) getMessageRender) >>= (\ urender_aL6F -> (asWidgetT . toWidget) (urender_aL6F msg))); (asWidgetT . toWidget) ((preEscapedText . pack) "</p>\n") }) } } } where msg = ConfirmationEmailSent identifier normalizeEmailAddress _ = toLower registerHandler = defaultRegisterHandler forgotPasswordHandler = defaultForgotPasswordHandler setPasswordHandler = defaultSetPasswordHandler where {
Files
- ChangeLog.md +4/−0
- Yesod/Auth/Email.hs +11/−12
- Yesod/Auth/GoogleEmail2.hs +2/−0
- Yesod/Auth/OpenId.hs +0/−3
- yesod-auth.cabal +1/−1
ChangeLog.md view
@@ -1,3 +1,7 @@+## 1.4.14++* Remove Google OpenID link [#1309](https://github.com/yesodweb/yesod/pull/1309)+ ## 1.4.13.5 * Translation fix
Yesod/Auth/Email.hs view
@@ -71,7 +71,6 @@ import System.IO.Unsafe (unsafePerformIO) import qualified Text.Email.Validate - loginR, registerR, forgotPasswordR, setpassR :: AuthRoute loginR = PluginR "email" ["login"] registerR = PluginR "email" ["register"]@@ -383,19 +382,18 @@ -> HandlerT Auth (HandlerT master IO) TypedContent registerHelper allowUsername dest = do y <- lift getYesod+ checkCsrfHeaderOrParam defaultCsrfHeaderName defaultCsrfParamName midentifier <- lookupPostParam "email" let eidentifier = case midentifier of- Nothing -> Left Msg.NoIdentifierProvided- Just x- | Just x' <- Text.Email.Validate.canonicalizeEmail (encodeUtf8 x) ->- Right $ normalizeEmailAddress y $ decodeUtf8With lenientDecode x'- | allowUsername -> Right $ TS.strip x- | otherwise -> Left Msg.InvalidEmailAddress-+ Nothing -> Left Msg.NoIdentifierProvided+ Just x+ | Just x' <- Text.Email.Validate.canonicalizeEmail (encodeUtf8 x) ->+ Right $ normalizeEmailAddress y $ decodeUtf8With lenientDecode x'+ | allowUsername -> Right $ TS.strip x+ | otherwise -> Left Msg.InvalidEmailAddress case eidentifier of- Left route -> loginErrorMessageI dest route- Right identifier -> do-+ Left route -> loginErrorMessageI dest route+ Right identifier -> do mecreds <- lift $ getEmailCreds identifier registerCreds <- case mecreds of@@ -709,7 +707,8 @@ now <- liftIO getCurrentTime setSession loginLinkKey $ TS.pack $ show (toPathPiece aid, now) -+-- See https://github.com/yesodweb/yesod/issues/1245 for discussion on this+-- use of unsafePerformIO. defaultNonceGen :: Nonce.Generator defaultNonceGen = unsafePerformIO (Nonce.new) {-# NOINLINE defaultNonceGen #-}
Yesod/Auth/GoogleEmail2.hs view
@@ -574,6 +574,8 @@ allPersonInfo _ = [] +-- See https://github.com/yesodweb/yesod/issues/1245 for discussion on this+-- use of unsafePerformIO. defaultNonceGen :: Nonce.Generator defaultNonceGen = unsafePerformIO (Nonce.new) {-# NOINLINE defaultNonceGen #-}
Yesod/Auth/OpenId.hs view
@@ -50,9 +50,6 @@ [whamlet| $newline never <form method="get" action="@{tm forwardUrl}">- <input type="hidden" name="openid_identifier" value="https://www.google.com/accounts/o8/id">- <button .openid-google>_{Msg.LoginGoogle}-<form method="get" action="@{tm forwardUrl}"> <input type="hidden" name="openid_identifier" value="http://me.yahoo.com"> <button .openid-yahoo>_{Msg.LoginYahoo} <form method="get" action="@{tm forwardUrl}">
yesod-auth.cabal view
@@ -1,5 +1,5 @@ name: yesod-auth-version: 1.4.13.5+version: 1.4.14 license: MIT license-file: LICENSE author: Michael Snoyman, Patrick Brisbin