packages feed

yesod-auth 1.1.2.2 → 1.1.3

raw patch · 2 files changed

+31/−20 lines, 2 files

Files

Yesod/Auth/BrowserId.hs view
@@ -3,6 +3,7 @@ module Yesod.Auth.BrowserId     ( authBrowserId     , authBrowserIdAudience+    , createOnClick     ) where  import Yesod.Auth@@ -64,25 +65,7 @@             (_, []) -> badMethod             _ -> notFound     , apLogin = \toMaster -> do-        addScriptRemote browserIdJs-        onclick <- lift newIdent-        render <- lift getUrlRender-        let login = toJSON $ getPath $ render (toMaster LoginR)-        toWidget [julius|-function #{rawJS onclick}() {-    navigator.id.watch({-        onlogin: function (assertion) {-            if (assertion) {-                document.location = "@{toMaster complete}/" + assertion;-            }-        },-        onlogout: function () {}-    });-    navigator.id.request({-        returnTo: #{login} + "?autologin=true"-    });-}-|]+        onclick <- createOnClick toMaster          autologin <- fmap (== Just "true") $ lift $ lookupGetParam "autologin"         when autologin $ toWidget [julius|@@ -99,6 +82,34 @@   where     stripScheme t = fromMaybe t $ T.stripPrefix "//" $ snd $ T.breakOn "//" t +-- | Generates a function to handle on-click events, and returns that function+-- name.+createOnClick :: (Route Auth -> Route master) -> GWidget sub master Text+createOnClick toMaster = do+    addScriptRemote browserIdJs+    onclick <- lift newIdent+    render <- lift getUrlRender+    let login = toJSON $ getPath $ render (toMaster LoginR)+    toWidget [julius|+        function #{rawJS onclick}() {+            navigator.id.watch({+                onlogin: function (assertion) {+                    if (assertion) {+                        document.location = "@{toMaster complete}/" + assertion;+                    }+                },+                onlogout: function () {}+            });+            navigator.id.request({+                returnTo: #{login} + "?autologin=true"+            });+        }+    |]++    autologin <- fmap (== Just "true") $ lift $ lookupGetParam "autologin"+    when autologin $ toWidget [julius|#{rawJS onclick}();|]+    return onclick+  where     getPath t = fromMaybe t $ do         uri <- parseURI $ T.unpack t         return $ T.pack $ uriPath uri
yesod-auth.cabal view
@@ -1,5 +1,5 @@ name:            yesod-auth-version:         1.1.2.2+version:         1.1.3 license:         MIT license-file:    LICENSE author:          Michael Snoyman, Patrick Brisbin