diff --git a/script/scaffold/generate.py b/script/scaffold/generate.py
index 292ae86e3a9aaa6db33ef9de0362987c07235669..4c50b8971fb0310a6ee0550ff8b1303f57f242c0 100644
--- a/script/scaffold/generate.py
+++ b/script/scaffold/generate.py
@@ -153,7 +153,7 @@ def _custom_tasks(template, info) -> None:
         )
 
     elif template == "config_flow_oauth2":
-        info.update_manifest(config_flow=True)
+        info.update_manifest(config_flow=True, dependencies=["http"])
         info.update_strings(
             title=info.name,
             config={
diff --git a/script/scaffold/templates/config_flow_oauth2/integration/api.py b/script/scaffold/templates/config_flow_oauth2/integration/api.py
index 14f7d60096c8bf2b3075c5ada507113596b7cb3d..710c76600fb4cc2ffda752764202a67b495c1e34 100644
--- a/script/scaffold/templates/config_flow_oauth2/integration/api.py
+++ b/script/scaffold/templates/config_flow_oauth2/integration/api.py
@@ -29,13 +29,13 @@ class ConfigEntryAuth(my_pypi_package.AbstractAuth):
         )
         super().__init__(self.session.token)
 
-    def refresh_tokens(self) -> dict:
+    def refresh_tokens(self) -> str:
         """Refresh and return new NEW_NAME tokens using Home Assistant OAuth2 session."""
         run_coroutine_threadsafe(
             self.session.async_ensure_token_valid(), self.hass.loop
         ).result()
 
-        return self.session.token
+        return self.session.token["access_token"]
 
 
 class AsyncConfigEntryAuth(my_pypi_package.AbstractAuth):
@@ -50,9 +50,9 @@ class AsyncConfigEntryAuth(my_pypi_package.AbstractAuth):
         super().__init__(websession)
         self._oauth_session = oauth_session
 
-    async def async_get_access_token(self):
+    async def async_get_access_token(self) -> str:
         """Return a valid access token."""
         if not self._oauth_session.valid_token:
             await self._oauth_session.async_ensure_token_valid()
 
-        return self._oauth_session.token
+        return self._oauth_session.token["access_token"]
diff --git a/script/scaffold/templates/config_flow_oauth2/tests/test_config_flow.py b/script/scaffold/templates/config_flow_oauth2/tests/test_config_flow.py
index 7dda65645070f331da135db7da6b431f18e0be9b..36a42431cf31eb01bfab23c452bd2afa51843993 100644
--- a/script/scaffold/templates/config_flow_oauth2/tests/test_config_flow.py
+++ b/script/scaffold/templates/config_flow_oauth2/tests/test_config_flow.py
@@ -13,7 +13,7 @@ CLIENT_ID = "1234"
 CLIENT_SECRET = "5678"
 
 
-async def test_full_flow(hass, aiohttp_client, aioclient_mock):
+async def test_full_flow(hass, aiohttp_client, aioclient_mock, current_request):
     """Check full flow."""
     assert await setup.async_setup_component(
         hass,