openid complete supports POST

This commit is contained in:
Michael Snoyman 2010-10-13 22:45:22 +02:00
parent f0cd04fa97
commit 8dc5dc66f9
2 changed files with 11 additions and 10 deletions

View File

@ -50,17 +50,18 @@ authOpenId =
toMaster <- getRouteToMaster
setMessage $ string "No OpenID identifier found"
redirect RedirectTemporary $ toMaster LoginR
dispatch "GET" ["complete"] = completeHelper OpenId.authenticate
dispatch "GET" ["complete"] = do
rr <- getRequest
completeHelper $ reqGetParams rr
dispatch "POST" ["complete"] = do
rr <- getRequest
(posts, _) <- liftIO $ reqRequestBody rr
completeHelper posts
dispatch _ _ = notFound
completeHelper
:: YesodAuth m
=> ([(String, String)] -> AttemptT (GHandler Auth m) OpenId.Identifier)
-> GHandler Auth m ()
completeHelper auth = do
rr <- getRequest
let gets' = reqGetParams rr
res <- runAttemptT $ auth gets'
completeHelper :: YesodAuth m => [(String, String)] -> GHandler Auth m ()
completeHelper gets' = do
res <- runAttemptT $ OpenId.authenticate gets'
toMaster <- getRouteToMaster
let onFailure err = do
setMessage $ string $ show err

View File

@ -1,5 +1,5 @@
name: yesod-auth
version: 0.1.3
version: 0.1.4
license: BSD3
license-file: LICENSE
author: Michael Snoyman <michael@snoyman.com>