yesod-auth-fb 1.2.3 → 1.3
raw patch · 3 files changed
+18/−21 lines, 3 filesdep ~fb
Dependency ranges changed: fb
Files
- src/Yesod/Auth/Facebook/ClientSide.hs +10/−10
- src/Yesod/Auth/Facebook/ServerSide.hs +6/−9
- yesod-auth-fb.cabal +2/−2
src/Yesod/Auth/Facebook/ClientSide.hs view
@@ -314,7 +314,7 @@ ur <- getUrlRender creds <- YF.getFbCredentials channelFile <- getFbChannelFile- return [ ("appId", A.toJSON $ TE.decodeUtf8 $ FB.appId creds)+ return [ ("appId", A.toJSON $ FB.appId creds) , ("channelUrl", A.toJSON $ ur channelFile) , ("status", A.toJSON True) -- Check login status. , ("cookie", A.toJSON True) -- Enable cookie, extremely important.@@ -423,13 +423,13 @@ -- | Create an @yesod-auth@'s 'Creds' for a given -- @'FB.UserAccessToken'@. createCreds :: FB.UserAccessToken -> Creds m-createCreds (FB.UserAccessToken userId _ _) = Creds "fbcs" id_ []- where id_ = "http://graph.facebook.com/" `mappend` TE.decodeUtf8 userId+createCreds (FB.UserAccessToken (FB.Id userId) _ _) = Creds "fbcs" id_ []+ where id_ = "http://graph.facebook.com/" `mappend` userId -- | Cookie name with the signed request for the given credentials. signedRequestCookieName :: FB.Credentials -> Text-signedRequestCookieName = T.append "fbsr_" . TE.decodeUtf8 . FB.appId+signedRequestCookieName = T.append "fbsr_" . FB.appId -- | Get the Facebook's user access token from Facebook's cookie.@@ -467,10 +467,10 @@ case moldCode of Just code' | code == code' -> lift $ do -- We have a cached token for this code.- Just userId <- lookupSessionBS sessionUserId- Just data_ <- lookupSessionBS sessionToken- Just exptime <- lookupSession sessionExpires- return $ FB.UserAccessToken userId data_ (read $ T.unpack exptime)+ Just userId <- lookupSession sessionUserId+ Just data_ <- lookupSession sessionToken+ Just exptime <- lookupSession sessionExpires+ return $ FB.UserAccessToken (FB.Id userId) data_ (read $ T.unpack exptime) _ -> do -- Get access token from Facebook. let fbErrorMsg :: FB.FacebookException -> String@@ -485,8 +485,8 @@ FB.UserAccessToken userId data_ exptime -> lift $ do -- Save it for later. setSessionBS sessionCode code- setSessionBS sessionUserId userId- setSessionBS sessionToken data_+ setSession sessionUserId (FB.idCode userId)+ setSession sessionToken data_ setSession sessionExpires (T.pack $ show exptime) return token Right (_, Just uid, Just oauth_token, Just expires) ->
src/Yesod/Auth/Facebook/ServerSide.hs view
@@ -26,7 +26,6 @@ import Yesod.Handler import Yesod.Widget import qualified Data.Text as T-import qualified Data.Text.Encoding as TE import qualified Facebook as FB import qualified Yesod.Auth.Message as Msg import qualified Data.Conduit as C@@ -157,8 +156,8 @@ -- | Create an @yesod-auth@'s 'Creds' for a given -- @'FB.UserAccessToken'@. createCreds :: FB.UserAccessToken -> Creds m-createCreds (FB.UserAccessToken userId _ _) = Creds "fb" id_ []- where id_ = "http://graph.facebook.com/" `mappend` TE.decodeUtf8 userId+createCreds (FB.UserAccessToken (FB.Id userId) _ _) = Creds "fb" id_ []+ where id_ = "http://graph.facebook.com/" `mappend` userId -- | Set the Facebook's user access token on the user's session.@@ -166,9 +165,9 @@ -- become handy together with 'FB.extendUserAccessToken'. setUserAccessToken :: FB.UserAccessToken -> GHandler sub master ()-setUserAccessToken (FB.UserAccessToken userId data_ exptime) = do- setSession "_FBID" (TE.decodeUtf8 userId)- setSession "_FBAT" (TE.decodeUtf8 data_)+setUserAccessToken (FB.UserAccessToken (FB.Id userId) data_ exptime) = do+ setSession "_FBID" userId+ setSession "_FBAT" data_ setSession "_FBET" (T.pack $ show exptime) @@ -182,9 +181,7 @@ userId <- MaybeT $ lookupSession "_FBID" data_ <- MaybeT $ lookupSession "_FBAT" exptime <- MaybeT $ lookupSession "_FBET"- return $ FB.UserAccessToken (TE.encodeUtf8 userId)- (TE.encodeUtf8 data_)- (read $ T.unpack exptime)+ return $ FB.UserAccessToken (FB.Id userId) data_ (read $ T.unpack exptime) -- | Delete Facebook's user access token from the session. /Do/
yesod-auth-fb.cabal view
@@ -1,5 +1,5 @@ Name: yesod-auth-fb-Version: 1.2.3+Version: 1.3 Synopsis: Authentication backend for Yesod using Facebook. Homepage: https://github.com/meteficha/yesod-auth-fb License: BSD3@@ -51,7 +51,7 @@ , text >= 0.7 && < 0.12 , transformers >= 0.1.3 && < 0.4 , yesod-fb == 0.2.*- , fb >= 0.11 && < 0.13+ , fb == 0.13.* , conduit == 0.5.* , bytestring >= 0.9 && < 0.11 , aeson == 0.6.*