diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.3.3.2
+
+* Support for http-conduit-2.2.0 [#47](https://github.com/yesodweb/authenticate/issues/47)
+
 ## 1.3.3.1
 
 * License update [#46](https://github.com/yesodweb/authenticate/issues/46)
diff --git a/OpenId2/Discovery.hs b/OpenId2/Discovery.hs
--- a/OpenId2/Discovery.hs
+++ b/OpenId2/Discovery.hs
@@ -73,20 +73,32 @@
               -> Int -- ^ remaining redirects
               -> Manager
               -> m (Maybe (Provider, Identifier, IdentType))
-discoverYADIS _ _ 0 _ = liftIO $ throwIO $ TooManyRedirects
+discoverYADIS _ _ 0 _ =
+#if MIN_VERSION_http_conduit(2, 2, 0)
+    error "discoverYADIS: Too many redirects"
+#else
+    liftIO $ throwIO $ TooManyRedirects
 #if MIN_VERSION_http_conduit(1,6,0)
-    []
+        []
 #endif
+#endif
 discoverYADIS ident mb_loc redirects manager = do
     let uri = fromMaybe (unpack $ identifier ident) mb_loc
+#if MIN_VERSION_http_conduit(2, 2, 0)
+    req <- liftIO $ parseRequest uri
+#else
     req <- liftIO $ parseUrl uri
+#endif
     res <- httpLbs req
+#if !MIN_VERSION_http_conduit(2, 2, 0)
 #if MIN_VERSION_http_conduit(1, 9, 0)
         { checkStatus = \_ _ _ -> Nothing
 #else
         { checkStatus = \_ _ -> Nothing
 #endif
-        } manager
+        }
+#endif
+        manager
     let mloc = fmap S8.unpack
              $ lookup "x-xrds-location"
              $ map (first $ map toLower . S8.unpack . CI.original)
diff --git a/authenticate.cabal b/authenticate.cabal
--- a/authenticate.cabal
+++ b/authenticate.cabal
@@ -1,5 +1,5 @@
 name:            authenticate
-version:         1.3.3.1
+version:         1.3.3.2
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman, Hiromi Ishii, Arash Rouhani
