diff --git a/templates/flutter/lib/services/service.dart.twig b/templates/flutter/lib/services/service.dart.twig
index 889ff289e..c6165b673 100644
--- a/templates/flutter/lib/services/service.dart.twig
+++ b/templates/flutter/lib/services/service.dart.twig
@@ -59,12 +59,7 @@ class {{ service.name | caseUcfirst }} extends Service {
           query: query.join('&')
         );
 
-        if(kIsWeb) {
-          redirect(url.toString());
-          return Future.value();
-        }else{
-          return client.webAuth(url);
-        }
+      return client.webAuth(url);
 
 {% elseif method.type == 'location' %}
         params.keys.forEach((key) {if (params[key] is int || params[key] is double) {
diff --git a/templates/flutter/lib/src/client_browser.dart.twig b/templates/flutter/lib/src/client_browser.dart.twig
index c2cc26bd0..f9e5f42fa 100644
--- a/templates/flutter/lib/src/client_browser.dart.twig
+++ b/templates/flutter/lib/src/client_browser.dart.twig
@@ -1,4 +1,5 @@
 import 'dart:html' as html;
+import 'package:flutter_web_auth/flutter_web_auth.dart';
 import 'package:http/http.dart' as http;
 import 'package:http/browser_client.dart';
 import 'client_mixin.dart';
@@ -128,6 +129,16 @@ class ClientBrowser extends ClientBase with ClientMixin {
 
   @override
   Future webAuth(Uri url) {
-    throw UnimplementedError();
-  }
+  return FlutterWebAuth.authenticate(
+      url: url.toString(),
+      callbackUrlScheme: "appwrite-callback-" + config['project']!,
+    ).then((value) async {
+      Uri url = Uri.parse(value);
+      final key = url.queryParameters['key'];
+      final secret = url.queryParameters['secret'];
+      if (key == null || secret == null) {
+        throw AppwriteException(
+            "Invalid OAuth2 Response. Key and Secret not available.", 500);
+      }
+    });  }
 }
diff --git a/templates/flutter/pubspec.yaml.twig b/templates/flutter/pubspec.yaml.twig
index 95ec7c2a9..0c6796858 100644
--- a/templates/flutter/pubspec.yaml.twig
+++ b/templates/flutter/pubspec.yaml.twig
@@ -12,10 +12,10 @@ dependencies:
     sdk: flutter
   cookie_jar: ^3.0.1
   device_info_plus: ^3.1.1
-  flutter_web_auth: ^0.3.1
+  flutter_web_auth: ^0.4.0
   http: ^0.13.4
   package_info_plus: ^1.3.0
-  path_provider: ^2.0.7
+  path_provider: ^2.0.8
   web_socket_channel: ^2.1.0
 
 dev_dependencies: