diff --git a/src/Foundation.hs b/src/Foundation.hs index 534040e..8fbd694 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -12,7 +12,7 @@ import Database.Persist.Sql (ConnectionPool, runSqlPool) import Text.Hamlet (hamletFile) import Text.Jasmine (minifym) -import Yesod.Auth.HashDB (authHashDB) +import Yesod.Auth.HashDB (authHashDBWithForm) import qualified Yesod.Auth.Message as AuthMsg import Yesod.Default.Util (addStaticContentExternal) @@ -182,7 +182,11 @@ instance YesodAuth App where toResult = UserError AuthMsg.InvalidLogin `maybe` (Authenticated . entityKey) -- You can add other plugins like Google Email, email or OAuth here - authPlugins _ = [authHashDB (Just . UniqueUser)] + authPlugins _ = [authHashDBWithForm loginForm (Just . UniqueUser)] + where loginForm :: Route App -> Widget + loginForm action = do + mtok <- reqToken <$> getRequest + $(widgetFile "auth/login") authHttpManager = getHttpManager -- | Access function to determine if a user is logged in. diff --git a/templates/auth/login.cassius b/templates/auth/login.cassius new file mode 100644 index 0000000..48db2c1 --- /dev/null +++ b/templates/auth/login.cassius @@ -0,0 +1,3 @@ +body > main + display: flex + align-items: center diff --git a/templates/auth/login.hamlet b/templates/auth/login.hamlet new file mode 100644 index 0000000..05813b0 --- /dev/null +++ b/templates/auth/login.hamlet @@ -0,0 +1,24 @@ +
+ $maybe tok <- mtok + + +
+
+
+