diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.2.5.1
+
+- Add support for GHC 9.0.
+
 # 0.2.5.0
 
 - Add `getAuthUserFromVault` for `Servant.Api.Vault` user.
diff --git a/src/Network/Wai/Auth/Config.hs b/src/Network/Wai/Auth/Config.hs
--- a/src/Network/Wai/Auth/Config.hs
+++ b/src/Network/Wai/Auth/Config.hs
@@ -72,7 +72,10 @@
   , configProviders  :: Object
   }
 
+$(deriveJSON defaultOptions { fieldLabelModifier = toLowerUnderscore . drop 2} ''FileServer)
 
+$(deriveJSON defaultOptions { fieldLabelModifier = toLowerUnderscore . drop 2} ''ReverseProxy)
+
 instance FromJSON AuthConfig where
   parseJSON =
     withObject "Auth Config Object" $ \obj -> do
@@ -100,9 +103,3 @@
           (Nothing, Nothing) -> fail $ "No service is supplied. " ++ sErrMsg
       configProviders <- obj .: "providers"
       return AuthConfig {..}
-
-$(deriveJSON defaultOptions { fieldLabelModifier = toLowerUnderscore . drop 2} ''FileServer)
-
-$(deriveJSON defaultOptions { fieldLabelModifier = toLowerUnderscore . drop 2} ''ReverseProxy)
-
-
diff --git a/src/Network/Wai/Middleware/Auth/OAuth2.hs b/src/Network/Wai/Middleware/Auth/OAuth2.hs
--- a/src/Network/Wai/Middleware/Auth/OAuth2.hs
+++ b/src/Network/Wai/Middleware/Auth/OAuth2.hs
@@ -66,6 +66,8 @@
 getClientSecret :: T.Text -> T.Text
 getClientSecret = id
 
+$(deriveJSON defaultOptions { fieldLabelModifier = toLowerUnderscore . drop 3} ''OAuth2)
+
 -- | Aeson parser for `OAuth2` provider.
 --
 -- @since 0.1.0
@@ -135,8 +137,6 @@
   case OA2.expiresIn tokens of
     Nothing -> False
     Just expiresIn -> authLoginTime user + (fromIntegral expiresIn) < now
-
-$(deriveJSON defaultOptions { fieldLabelModifier = toLowerUnderscore . drop 3} ''OAuth2)
 
 -- | Get the @AccessToken@ for the current user.
 --
diff --git a/wai-middleware-auth.cabal b/wai-middleware-auth.cabal
--- a/wai-middleware-auth.cabal
+++ b/wai-middleware-auth.cabal
@@ -1,6 +1,6 @@
 cabal-version:       1.18
 name:                wai-middleware-auth
-version:             0.2.5.0
+version:             0.2.5.1
 synopsis:            Authentication middleware that secures WAI application
 description:         Please see the README and Haddocks at <https://www.stackage.org/package/wai-middleware-auth>
 license:             MIT
