diff --git a/Yesod/Helpers/Auth2/OpenId.hs b/Yesod/Helpers/Auth2/OpenId.hs index 1af3196d..7f077ceb 100644 --- a/Yesod/Helpers/Auth2/OpenId.hs +++ b/Yesod/Helpers/Auth2/OpenId.hs @@ -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 diff --git a/yesod-auth.cabal b/yesod-auth.cabal index 75c151a9..75be7e99 100644 --- a/yesod-auth.cabal +++ b/yesod-auth.cabal @@ -1,5 +1,5 @@ name: yesod-auth -version: 0.1.3 +version: 0.1.4 license: BSD3 license-file: LICENSE author: Michael Snoyman