{-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE OverloadedStrings #-} module Yesod.Auth.Rpxnow ( authRpxnow ) where import Yesod.Auth import qualified Web.Authenticate.Rpxnow as Rpxnow import Control.Monad (mplus) import Yesod.Handler import Yesod.Widget import Yesod.Request import Text.Hamlet (hamlet) import Data.Text (pack, unpack) import Control.Arrow ((***)) authRpxnow :: YesodAuth m => String -- ^ app name -> String -- ^ key -> AuthPlugin m authRpxnow app apiKey = AuthPlugin "rpxnow" dispatch login where login tm = do let url = {- FIXME urlEncode $ -} tm $ PluginR "rpxnow" [] toWidget [hamlet| $newline never