yesod-auth 1.1.1.6 → 1.1.1.7
raw patch · 2 files changed
+36/−2 lines, 2 filesdep +networkdep +shakespeare-jsPVP ok
version bump matches the API change (PVP)
Dependencies added: network, shakespeare-js
API changes (from Hackage documentation)
Files
- Yesod/Auth/BrowserId.hs +33/−1
- yesod-auth.cabal +3/−1
Yesod/Auth/BrowserId.hs view
@@ -13,7 +13,11 @@ import qualified Data.Text as T import Data.Maybe (fromMaybe) import Control.Monad.IO.Class (liftIO)+import Control.Monad (when) import Control.Exception (throwIO)+import Text.Julius (julius, rawJS)+import Data.Aeson (toJSON)+import Network.URI (uriPath, parseURI) pid :: Text pid = "browserid"@@ -61,12 +65,40 @@ _ -> 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"+ });+}+|]++ autologin <- fmap (== Just "true") $ lift $ lookupGetParam "autologin"+ when autologin $ toWidget [julius|+#{rawJS onclick}();+|]+ toWidget [hamlet| $newline never <p>- <a href="javascript:navigator.id.getVerifiedEmail(function(a){if(a)document.location='@{toMaster complete}/'+a});">+ <a href="javascript:#{onclick}()"> <img src="https://browserid.org/i/sign_in_green.png"> |] } where stripScheme t = fromMaybe t $ T.stripPrefix "//" $ snd $ T.breakOn "//" t++ 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.1.6+version: 1.1.1.7 license: MIT license-file: LICENSE author: Michael Snoyman, Patrick Brisbin@@ -26,6 +26,7 @@ , yesod-persistent >= 1.1 && < 1.2 , hamlet >= 1.1 && < 1.2 , shakespeare-css >= 1.0 && < 1.1+ , shakespeare-js >= 1.0.2 && < 1.2 , yesod-json >= 1.1 && < 1.2 , containers , unordered-containers@@ -40,6 +41,7 @@ , lifted-base >= 0.1 , blaze-html >= 0.5 && < 0.6 , blaze-markup >= 0.5.1 && < 0.6+ , network exposed-modules: Yesod.Auth Yesod.Auth.BrowserId