diff --git a/hoauth2.cabal b/hoauth2.cabal
--- a/hoauth2.cabal
+++ b/hoauth2.cabal
@@ -1,6 +1,6 @@
 Name:                hoauth2
 -- http://wiki.haskell.org/Package_versioning_policy
-Version:             0.5.3.1
+Version:             0.5.4.0
 
 Synopsis:            Haskell OAuth2 authentication client
 Description:
@@ -236,4 +236,3 @@
                    -fno-warn-unused-do-bind
   else
       ghc-options: -Wall -fwarn-tabs -funbox-strict-fields
-
diff --git a/src/Network/OAuth/OAuth2/Internal.hs b/src/Network/OAuth/OAuth2/Internal.hs
--- a/src/Network/OAuth/OAuth2/Internal.hs
+++ b/src/Network/OAuth/OAuth2/Internal.hs
@@ -39,15 +39,17 @@
     , refreshToken :: Maybe BS.ByteString
     , expiresIn    :: Maybe Int
     , tokenType    :: Maybe BS.ByteString
+    , idToken      :: Maybe BS.ByteString
     } deriving (Show)
 
 -- | Parse JSON data into 'AccessToken'
 instance FromJSON AccessToken where
-    parseJSON (Object o) = AccessToken <$> at <*> rt <*> ei <*> tt where
+    parseJSON (Object o) = AccessToken <$> at <*> rt <*> ei <*> tt <*> id_ where
         at = fmap encodeUtf8 $ o .: "access_token"
         rt = fmap (fmap encodeUtf8) $ o .:? "refresh_token"
         ei = o .:? "expires_in"
         tt = fmap (fmap encodeUtf8) $ o .:? "token_type"
+        id_ = fmap (fmap encodeUtf8) $ o .:? "id_token"
     parseJSON _ = mzero
 
 --------------------------------------------------
@@ -130,7 +132,7 @@
 
 -- | Create 'QueryParams' with given access token value.
 accessTokenToParam :: AccessToken -> QueryParams
-accessTokenToParam (AccessToken token _ _ _) = [("access_token", token)]
+accessTokenToParam at = [("access_token", accessToken at)]
 
 
 -- | Lift value in the 'Maybe' and abandon 'Nothing'.
