happstack-authenticate 0.10.8 → 0.10.9
raw patch · 3 files changed
+34/−5 lines, 3 filesdep ~fb
Dependency ranges changed: fb
Files
- Happstack/Auth/Blaze/Templates.hs +26/−2
- Happstack/Auth/Core/AuthURL.hs +6/−1
- happstack-authenticate.cabal +2/−2
Happstack/Auth/Blaze/Templates.hs view
@@ -108,7 +108,8 @@ genericURL <- H.toValue <$> showURL (A_OpenIdProvider LoginMode Generic) localURL <- H.toValue <$> showURL A_Local facebookURL <- H.toValue <$> showURL (A_Facebook LoginMode)- return $ H.div ! A.id "happstack-authenticate" $+ signupURL <- H.toValue <$> showURL A_Signup+ return $ H.div ! A.id "happstack-authenticate" $ do H.ol $ do H.li $ (a ! href googleURL $ "Login") >> " with your Google account" H.li $ (a ! href yahooURL $ "Login") >> " with your Yahoo account"@@ -119,7 +120,30 @@ case mFacebook of (Just _) -> H.li $ (a ! href facebookURL $ "Login") >> " with your Facebook account" Nothing -> return ()+ H.p $ (a ! href signupURL $ "Create a New Account.") +signupPage :: (MonadRoute m, URL m ~ AuthURL, Happstack m) => Maybe Credentials -> m Html+signupPage mFacebook =+ do googleURL <- H.toValue <$> showURL (A_OpenIdProvider LoginMode Google)+ yahooURL <- H.toValue <$> showURL (A_OpenIdProvider LoginMode Yahoo)+ liveJournalURL <- H.toValue <$> showURL (A_OpenIdProvider LoginMode LiveJournal)+ myspaceURL <- H.toValue <$> showURL (A_OpenIdProvider LoginMode Myspace)+ genericURL <- H.toValue <$> showURL (A_OpenIdProvider LoginMode Generic)+ localURL <- H.toValue <$> showURL A_CreateAccount+ facebookURL <- H.toValue <$> showURL (A_Facebook LoginMode)+ return $ H.div ! A.id "happstack-authenticate" $+ H.ol $ do+ H.li $ (a ! href googleURL $ "Signup") >> " with your Google account"+ H.li $ (a ! href yahooURL $ "Signup") >> " with your Yahoo account"+ H.li $ (a ! href liveJournalURL $ "Signup") >> " with your Live Journal account"+ H.li $ (a ! href myspaceURL $ "Signup") >> " with your Myspace account"+ H.li $ (a ! href genericURL $ "Signup") >> " with your OpenId account"+ H.li $ (a ! href localURL $ "Signup") >> " with a username and password"+ case mFacebook of+ (Just _) -> H.li $ (a ! href facebookURL $ "Signup") >> " with your Facebook account"+ Nothing -> return ()++ addAuthPage :: (MonadRoute m, URL m ~ AuthURL, Happstack m) => Maybe Credentials -> m Html addAuthPage mFacebook = do googleURL <- H.toValue <$> showURL (A_OpenIdProvider AddIdentifierMode Google)@@ -289,7 +313,7 @@ A_Login -> appTemplate "Login" mempty =<< loginPage mFacebook A_AddAuth -> appTemplate "Add Auth" mempty =<< addAuthPage mFacebook A_Logout -> appTemplate "Logout" mempty =<< logoutPage authStateH-+ A_Signup -> appTemplate "Signup" mempty =<< signupPage mFacebook A_Local -> localLoginPage authStateH appTemplate url onAuthURL A_CreateAccount -> createAccountPage authStateH appTemplate onAuthURL url A_ChangePassword -> changePasswordPage authStateH appTemplate url
Happstack/Auth/Core/AuthURL.hs view
@@ -63,6 +63,7 @@ = A_Login | A_AddAuth | A_Logout+ | A_Signup | A_Local | A_CreateAccount | A_ChangePassword@@ -84,9 +85,10 @@ instance Arbitrary AuthURL where arbitrary = oneof [ return A_Login+ , return A_AddAuth , return A_Logout+ , return A_Signup , return A_Local- , return A_AddAuth , return A_CreateAccount , return A_ChangePassword , A_OpenId <$> arbitrary@@ -115,6 +117,7 @@ toPathSegments A_CreateAccount = ["create"] toPathSegments A_ChangePassword = ["change_password"] toPathSegments A_AddAuth = ["add_auth"]+ toPathSegments A_Signup = ["signup"] toPathSegments (A_OpenId o) = "openid" : toPathSegments o toPathSegments (A_OpenIdProvider authMode provider) = "provider" : toPathSegments authMode ++ toPathSegments provider toPathSegments (A_Facebook authMode) = "facebook" : toPathSegments authMode@@ -127,6 +130,8 @@ return A_Logout , do segment "local" return A_Local+ , do segment "signup"+ return A_Signup , do segment "create" return A_CreateAccount , do segment "change_password"
happstack-authenticate.cabal view
@@ -1,5 +1,5 @@ Name: happstack-authenticate-Version: 0.10.8+Version: 0.10.9 Synopsis: Happstack Authentication Library Description: A themeable authentication library with support for username+password and OpenId. Homepage: http://www.happstack.com/@@ -41,7 +41,7 @@ happstack-server >= 6.0 && < 7.4, http-conduit >= 1.4 && < 2.1, http-types >= 0.6 && < 0.9,- fb >= 0.13 && < 0.15,+ fb >= 0.13 && < 0.16, safecopy >= 0.6, mtl >= 2.0, pwstore-purehaskell == 2.1.*,