Addressed some yesod-auth FIXMEs
This commit is contained in:
parent
3c301cdb75
commit
7c72f11b21
@ -162,7 +162,6 @@ mkYesodSub "Auth"
|
|||||||
/page/#Text/STRINGS PluginR
|
/page/#Text/STRINGS PluginR
|
||||||
|]
|
|]
|
||||||
|
|
||||||
-- | FIXME: won't show up till redirect
|
|
||||||
setCreds :: YesodAuth m => Bool -> Creds m -> GHandler s m ()
|
setCreds :: YesodAuth m => Bool -> Creds m -> GHandler s m ()
|
||||||
setCreds doRedirects creds = do
|
setCreds doRedirects creds = do
|
||||||
y <- getYesod
|
y <- getYesod
|
||||||
@ -214,7 +213,9 @@ getLoginR :: YesodAuth m => GHandler Auth m RepHtml
|
|||||||
getLoginR = setUltDestReferer' >> loginHandler
|
getLoginR = setUltDestReferer' >> loginHandler
|
||||||
|
|
||||||
getLogoutR :: YesodAuth m => GHandler Auth m ()
|
getLogoutR :: YesodAuth m => GHandler Auth m ()
|
||||||
getLogoutR = setUltDestReferer' >> postLogoutR -- FIXME redirect to post
|
getLogoutR = do
|
||||||
|
tm <- getRouteToMaster
|
||||||
|
setUltDestReferer' >> redirectToPost (tm LogoutR)
|
||||||
|
|
||||||
postLogoutR :: YesodAuth m => GHandler Auth m ()
|
postLogoutR :: YesodAuth m => GHandler Auth m ()
|
||||||
postLogoutR = do
|
postLogoutR = do
|
||||||
|
|||||||
@ -13,7 +13,10 @@ import Yesod.Widget
|
|||||||
import Yesod.Request
|
import Yesod.Request
|
||||||
import Text.Hamlet (hamlet)
|
import Text.Hamlet (hamlet)
|
||||||
import Data.Text (pack, unpack)
|
import Data.Text (pack, unpack)
|
||||||
|
import Data.Text.Encoding (encodeUtf8, decodeUtf8With)
|
||||||
|
import Data.Text.Encoding.Error (lenientDecode)
|
||||||
import Control.Arrow ((***))
|
import Control.Arrow ((***))
|
||||||
|
import Network.HTTP.Types (renderQuery)
|
||||||
|
|
||||||
authRpxnow :: YesodAuth m
|
authRpxnow :: YesodAuth m
|
||||||
=> String -- ^ app name
|
=> String -- ^ app name
|
||||||
@ -23,10 +26,12 @@ authRpxnow app apiKey =
|
|||||||
AuthPlugin "rpxnow" dispatch login
|
AuthPlugin "rpxnow" dispatch login
|
||||||
where
|
where
|
||||||
login tm = do
|
login tm = do
|
||||||
let url = {- FIXME urlEncode $ -} tm $ PluginR "rpxnow" []
|
render <- lift getUrlRender
|
||||||
|
let queryString = decodeUtf8With lenientDecode
|
||||||
|
$ renderQuery True [("token_url", Just $ encodeUtf8 $ render $ tm $ PluginR "rpxnow" [])]
|
||||||
toWidget [hamlet|
|
toWidget [hamlet|
|
||||||
$newline never
|
$newline never
|
||||||
<iframe src="http://#{app}.rpxnow.com/openid/embed?token_url=@{url}" scrolling="no" frameBorder="no" allowtransparency="true" style="width:400px;height:240px">
|
<iframe src="http://#{app}.rpxnow.com/openid/embed#{queryString}" scrolling="no" frameBorder="no" allowtransparency="true" style="width:400px;height:240px">
|
||||||
|]
|
|]
|
||||||
dispatch _ [] = do
|
dispatch _ [] = do
|
||||||
token1 <- lookupGetParams "token"
|
token1 <- lookupGetParams "token"
|
||||||
|
|||||||
@ -42,6 +42,7 @@ library
|
|||||||
, blaze-html >= 0.5 && < 0.6
|
, blaze-html >= 0.5 && < 0.6
|
||||||
, blaze-markup >= 0.5.1 && < 0.6
|
, blaze-markup >= 0.5.1 && < 0.6
|
||||||
, network
|
, network
|
||||||
|
, http-types
|
||||||
|
|
||||||
exposed-modules: Yesod.Auth
|
exposed-modules: Yesod.Auth
|
||||||
Yesod.Auth.BrowserId
|
Yesod.Auth.BrowserId
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user