yesod-auth 1.6.9 → 1.6.10
raw patch · 4 files changed
+64/−5 lines, 4 files
Files
- ChangeLog.md +7/−0
- Yesod/Auth/Email.hs +20/−3
- Yesod/Auth/Message.hs +36/−1
- yesod-auth.cabal +1/−1
ChangeLog.md view
@@ -1,5 +1,12 @@ # ChangeLog for yesod-auth +## 1.6.10++* Updated `AuthMessage` data type in `Yesod.Auth.Message` to accommodate registration flow where password is supplied initially: deprecated `AddressVerified` and split into `EmailVerifiedChangePass` and `EmailVerified`+* Fixed a bug in `getVerifyR` related to the above, where the incorrect message was displayed when password was set during registration+* Added `sendForgotPasswordEmail` to `YesodAuthEmail` typeclass, allowing for different emails for account registration vs. forgot password+* See pull request [#1662](https://github.com/yesodweb/yesod/pull/1662)+ ## 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)
Yesod/Auth/Email.hs view
@@ -212,6 +212,18 @@ -- @since 1.1.0 sendVerifyEmail :: Email -> VerKey -> VerUrl -> AuthHandler site () + -- | Send an email to the given address to re-verify ownership in the case of+ -- a password reset. This can be used to send a different email when a user+ -- goes through the 'forgot password' flow as opposed to the 'account registration'+ -- flow.+ --+ -- Default: Will call 'sendVerifyEmail', resulting in the same email getting sent+ -- for both registrations and password resets.+ --+ -- @since 1.6.10+ sendForgotPasswordEmail :: Email -> VerKey -> VerUrl -> AuthHandler site ()+ sendForgotPasswordEmail = sendVerifyEmail+ -- | Get the verification key for the given email ID. -- -- @since 1.1.0@@ -604,7 +616,8 @@ Nothing -> loginErrorMessageI dest (Msg.IdentifierNotFound identifier) Just creds@(_, False, _, _) -> sendConfirmationEmail creds Just creds@(_, True, _, _) -> do- if forgotPassword then sendConfirmationEmail creds+ if forgotPassword+ then sendConfirmationEmail creds else case emailPreviouslyRegisteredResponse identifier of Just response -> response Nothing -> sendConfirmationEmail creds@@ -612,7 +625,9 @@ render <- getUrlRender tp <- getRouteToParent let verUrl = render $ tp $ verifyR (toPathPiece lid) verKey (isJust mpass)- sendVerifyEmail email verKey verUrl+ if forgotPassword+ then sendForgotPasswordEmail email verKey verUrl+ else sendVerifyEmail email verKey verUrl confirmationEmailSentResponse identifier @@ -680,7 +695,9 @@ Just uid -> do setCreds False $ Creds "email-verify" email [("verifiedEmail", email)] -- FIXME uid? setLoginLinkKey uid- let msgAv = Msg.AddressVerified+ let msgAv = if hasSetPass+ then Msg.EmailVerified+ else Msg.EmailVerifiedChangePass selectRep $ do provideRep $ do addMessageI "success" msgAv
Yesod/Auth/Message.hs view
@@ -40,6 +40,8 @@ | ConfirmationEmailSentTitle | ConfirmationEmailSent Text | AddressVerified+ | EmailVerifiedChangePass+ | EmailVerified | InvalidKeyTitle | InvalidKey | InvalidEmailPass@@ -69,6 +71,7 @@ | LogoutTitle | AuthError {-# DEPRECATED Logout "Please, use LogoutTitle instead." #-}+{-# DEPRECATED AddressVerified "Please, use EmailVerifiedChangePass instead." #-} -- | Defaults to 'englishMessage'. defaultMessage :: AuthMessage -> Text@@ -91,7 +94,9 @@ "A confirmation e-mail has been sent to " `Data.Monoid.mappend` email `mappend` "."-englishMessage AddressVerified = "Address verified, please set a new password"+englishMessage AddressVerified = "Email address verified, please set a new password"+englishMessage EmailVerifiedChangePass = "Email address verified, please set a new password"+englishMessage EmailVerified = "Email address verified" englishMessage InvalidKeyTitle = "Invalid verification key" englishMessage InvalidKey = "I'm sorry, but that was an invalid verification key." englishMessage InvalidEmailPass = "Invalid email/password combination"@@ -139,6 +144,8 @@ email `mappend` "." portugueseMessage AddressVerified = "Endereço verificado, por favor entre com uma nova senha"+portugueseMessage EmailVerifiedChangePass = "Endereço verificado, por favor entre com uma nova senha"+portugueseMessage EmailVerified = "Endereço verificado" portugueseMessage InvalidKeyTitle = "Chave de verificação inválida" portugueseMessage InvalidKey = "Por favor nos desculpe, mas essa é uma chave de verificação inválida." portugueseMessage InvalidEmailPass = "E-mail e/ou senha inválidos"@@ -187,6 +194,8 @@ email `mappend` "." spanishMessage AddressVerified = "Dirección verificada, por favor introduzca una contraseña"+spanishMessage EmailVerifiedChangePass = "Dirección verificada, por favor introduzca una contraseña"+spanishMessage EmailVerified = "Dirección verificada" spanishMessage InvalidKeyTitle = "Clave de verificación invalida" spanishMessage InvalidKey = "Lo sentimos, pero esa clave de verificación es inválida." spanishMessage InvalidEmailPass = "La combinación cuenta de correo/contraseña es inválida"@@ -235,6 +244,8 @@ email `mappend` "." swedishMessage AddressVerified = "Adress verifierad, vänligen välj nytt lösenord"+swedishMessage EmailVerifiedChangePass = "Adress verifierad, vänligen välj nytt lösenord"+swedishMessage EmailVerified = "Adress verifierad" swedishMessage InvalidKeyTitle = "Ogiltig verifikationsnyckel" swedishMessage InvalidKey = "Tyvärr, du angav en ogiltig verifimationsnyckel." swedishMessage InvalidEmailPass = "Ogiltig epost/lösenord kombination"@@ -284,6 +295,8 @@ email `mappend` " versandt." germanMessage AddressVerified = "Adresse bestätigt, bitte neues Passwort angeben"+germanMessage EmailVerifiedChangePass = "Adresse bestätigt, bitte neues Passwort angeben"+germanMessage EmailVerified = "Adresse bestätigt" germanMessage InvalidKeyTitle = "Ungültiger Bestätigungsschlüssel" germanMessage InvalidKey = "Das war leider ein ungültiger Bestätigungsschlüssel" germanMessage InvalidEmailPass = "Ungültiger Nutzername oder Passwort"@@ -332,6 +345,8 @@ email `mappend` "." frenchMessage AddressVerified = "Votre adresse électronique a été validée, merci de choisir un nouveau mot de passe."+frenchMessage EmailVerifiedChangePass = "Votre adresse électronique a été validée, merci de choisir un nouveau mot de passe."+frenchMessage EmailVerified = "Votre adresse électronique a été validée" frenchMessage InvalidKeyTitle = "Clef de validation incorrecte" frenchMessage InvalidKey = "Désolé, mais cette clef de validation est incorrecte" frenchMessage InvalidEmailPass = "La combinaison de ce mot de passe et de cette adresse électronique n'existe pas."@@ -379,6 +394,8 @@ email `mappend` "." norwegianBokmålMessage AddressVerified = "Adresse verifisert, vennligst sett et nytt passord."+norwegianBokmålMessage EmailVerifiedChangePass = "Adresse verifisert, vennligst sett et nytt passord."+norwegianBokmålMessage EmailVerified = "Adresse verifisert" norwegianBokmålMessage InvalidKeyTitle = "Ugyldig verifiseringsnøkkel" norwegianBokmålMessage InvalidKey = "Beklager, men det var en ugyldig verifiseringsnøkkel." norwegianBokmålMessage InvalidEmailPass = "Ugyldig e-post/passord-kombinasjon"@@ -427,6 +444,8 @@ email `mappend` " に送信しました" japaneseMessage AddressVerified = "アドレスは認証されました。新しいパスワードを設定してください"+japaneseMessage EmailVerifiedChangePass = "アドレスは認証されました。新しいパスワードを設定してください"+japaneseMessage EmailVerified = "アドレスは認証されました" japaneseMessage InvalidKeyTitle = "認証キーが無効です" japaneseMessage InvalidKey = "申し訳ありません。無効な認証キーです" japaneseMessage InvalidEmailPass = "メールアドレスまたはパスワードが無効です"@@ -476,6 +495,8 @@ "." finnishMessage AddressVerified = "Sähköpostiosoite vahvistettu. Anna uusi salasana"+finnishMessage EmailVerifiedChangePass = "Sähköpostiosoite vahvistettu. Anna uusi salasana"+finnishMessage EmailVerified = "Sähköpostiosoite vahvistettu" finnishMessage InvalidKeyTitle = "Virheellinen varmistusavain" finnishMessage InvalidKey = "Valitettavasti varmistusavain on virheellinen." finnishMessage InvalidEmailPass = "Virheellinen sähköposti tai salasana."@@ -524,6 +545,8 @@ email `mappend` "." chineseMessage AddressVerified = "地址验证成功,请设置新密码"+chineseMessage EmailVerifiedChangePass = "地址验证成功,请设置新密码"+chineseMessage EmailVerified = "地址验证成功" chineseMessage InvalidKeyTitle = "无效的验证码" chineseMessage InvalidKey = "对不起,验证码无效。" chineseMessage InvalidEmailPass = "无效的邮箱/密码组合"@@ -569,6 +592,8 @@ czechMessage (ConfirmationEmailSent email) = "Potvrzovací e-mail byl odeslán na " `mappend` email `mappend` "." czechMessage AddressVerified = "Adresa byla ověřena, prosím nastavte si nové heslo"+czechMessage EmailVerifiedChangePass = "Adresa byla ověřena, prosím nastavte si nové heslo"+czechMessage EmailVerified = "Adresa byla ověřena" czechMessage InvalidKeyTitle = "Neplatný ověřovací klíč" czechMessage InvalidKey = "Bohužel, ověřovací klíč je neplatný." czechMessage InvalidEmailPass = "Neplatná kombinace e-mail/heslo"@@ -619,6 +644,8 @@ email `mappend` "." russianMessage AddressVerified = "Адрес подтверждён. Пожалуйста, установите новый пароль."+russianMessage EmailVerifiedChangePass = "Адрес подтверждён. Пожалуйста, установите новый пароль."+russianMessage EmailVerified = "Адрес подтверждён" russianMessage InvalidKeyTitle = "Неверный ключ подтверждения" russianMessage InvalidKey = "Извините, но ключ подтверждения оказался недействительным." russianMessage InvalidEmailPass = "Неверное сочетание эл.почты и пароля"@@ -666,6 +693,8 @@ email `mappend` "." dutchMessage AddressVerified = "Adres geverifieerd, stel alstublieft een nieuwe wachtwoord in"+dutchMessage EmailVerifiedChangePass = "Adres geverifieerd, stel alstublieft een nieuwe wachtwoord in"+dutchMessage EmailVerified = "Adres geverifieerd" dutchMessage InvalidKeyTitle = "Ongeldig verificatietoken" dutchMessage InvalidKey = "Dat was helaas een ongeldig verificatietoken." dutchMessage InvalidEmailPass = "Ongeldige e-mailadres/wachtwoord combinatie"@@ -713,6 +742,8 @@ croatianMessage ConfirmationEmailSentTitle = "E-poruka za potvrdu" croatianMessage (ConfirmationEmailSent email) = "E-poruka za potvrdu poslana je na adresu " <> email <> "." croatianMessage AddressVerified = "Adresa ovjerena, postavite novu lozinku"+croatianMessage EmailVerifiedChangePass = "Adresa ovjerena, postavite novu lozinku"+croatianMessage EmailVerified = "Adresa ovjerena" croatianMessage InvalidKeyTitle = "Ključ za ovjeru nije valjan" croatianMessage InvalidKey = "Nažalost, taj ključ za ovjeru nije valjan." croatianMessage InvalidEmailPass = "Kombinacija e-pošte i lozinke nije valjana"@@ -757,6 +788,8 @@ email `mappend` "." danishMessage AddressVerified = "Adresse bekræftet, sæt venligst et nyt kodeord"+danishMessage EmailVerifiedChangePass = "Adresse bekræftet, sæt venligst et nyt kodeord"+danishMessage EmailVerified = "Adresse bekræftet" danishMessage InvalidKeyTitle = "Ugyldig verifikationsnøgle" danishMessage InvalidKey = "Beklager, det var en ugyldigt verifikationsnøgle." danishMessage InvalidEmailPass = "Ugyldigt e-mail/kodeord"@@ -804,6 +837,8 @@ email `mappend` "에 보냈습니다." koreanMessage AddressVerified = "주소가 인증되었습니다. 새 비밀번호를 설정하세요."+koreanMessage EmailVerifiedChangePass = "주소가 인증되었습니다. 새 비밀번호를 설정하세요."+koreanMessage EmailVerified = "주소가 인증되었습니다" koreanMessage InvalidKeyTitle = "인증키가 잘못되었습니다" koreanMessage InvalidKey = "죄송합니다. 잘못된 인증키입니다." koreanMessage InvalidEmailPass = "이메일 주소나 비밀번호가 잘못되었습니다"
yesod-auth.cabal view
@@ -1,5 +1,5 @@ name: yesod-auth-version: 1.6.9+version: 1.6.10 license: MIT license-file: LICENSE author: Michael Snoyman, Patrick Brisbin