diff --git a/src/Yesod/Auth/Facebook/ClientSide.hs b/src/Yesod/Auth/Facebook/ClientSide.hs
--- a/src/Yesod/Auth/Facebook/ClientSide.hs
+++ b/src/Yesod/Auth/Facebook/ClientSide.hs
@@ -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) ->
diff --git a/src/Yesod/Auth/Facebook/ServerSide.hs b/src/Yesod/Auth/Facebook/ServerSide.hs
--- a/src/Yesod/Auth/Facebook/ServerSide.hs
+++ b/src/Yesod/Auth/Facebook/ServerSide.hs
@@ -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/
diff --git a/yesod-auth-fb.cabal b/yesod-auth-fb.cabal
--- a/yesod-auth-fb.cabal
+++ b/yesod-auth-fb.cabal
@@ -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.*
