diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # authenticate changelog
 
+## 1.3.5.1
+
+* Support for aeson-2.0 [#56](https://github.com/yesodweb/authenticate/pull/56)
+
 ## 1.3.5
 
 * Drop tagstream-conduit dep (for GHC 8.8 support)
diff --git a/Web/Authenticate/BrowserId.hs b/Web/Authenticate/BrowserId.hs
--- a/Web/Authenticate/BrowserId.hs
+++ b/Web/Authenticate/BrowserId.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE CPP #-}
 module Web.Authenticate.BrowserId
     ( browserIdJs
     , checkAssertion
@@ -9,7 +10,11 @@
 import Network.HTTP.Conduit (parseUrlThrow, responseBody, httpLbs, Manager, method, urlEncodedBody)
 import Data.Aeson (json, Value (Object, String))
 import Data.Attoparsec.Lazy (parse, maybeResult)
+#if MIN_VERSION_aeson(2,0,0)
+import qualified Data.Aeson.KeyMap as Map
+#else
 import qualified Data.HashMap.Lazy as Map
+#endif
 import Data.Text.Encoding (encodeUtf8)
 import Control.Monad.IO.Class (MonadIO, liftIO)
 
diff --git a/Web/Authenticate/Rpxnow.hs b/Web/Authenticate/Rpxnow.hs
--- a/Web/Authenticate/Rpxnow.hs
+++ b/Web/Authenticate/Rpxnow.hs
@@ -35,7 +35,12 @@
 import qualified Data.Attoparsec.Lazy as AT
 import Data.Text (Text)
 import qualified Data.Aeson.Types
+#if MIN_VERSION_aeson(2,0,0)
+import qualified Data.Aeson.KeyMap as Map
+import qualified Data.Aeson.Key as Key
+#else
 import qualified Data.HashMap.Lazy as Map
+#endif
 import Control.Applicative ((<$>), (<*>))
 import Control.Exception (throwIO)
 
@@ -97,6 +102,10 @@
         <*> return (mapMaybe go (Map.toList profile))
   where
     go ("identifier", _) = Nothing
-    go (k, String v) = Just (k, v)
+    go (k, String v) = Just (
+#if MIN_VERSION_aeson(2,0,0)
+        Key.toText
+#endif
+        k, v)
     go _ = Nothing
 parseProfile _ = mzero
diff --git a/authenticate.cabal b/authenticate.cabal
--- a/authenticate.cabal
+++ b/authenticate.cabal
@@ -1,5 +1,5 @@
 name:            authenticate
-version:         1.3.5
+version:         1.3.5.1
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman, Hiromi Ishii, Arash Rouhani
@@ -8,7 +8,7 @@
 description:     API docs and the README are available at <http://www.stackage.org/package/authenticate>.
 category:        Web
 stability:       Stable
-cabal-version:   >= 1.6
+cabal-version:   >= 1.10
 build-type:      Simple
 homepage:        http://github.com/yesodweb/authenticate
 extra-source-files: README.md ChangeLog.md
@@ -18,7 +18,8 @@
   default: True
 
 library
-    build-depends:   base                          >= 4        && < 5
+    default-language: Haskell2010
+    build-depends:   base                          >= 4.10     && < 5
                    , aeson                         >= 0.5
                    , http-conduit                  >= 1.5
                    , transformers                  >= 0.1
