I'm trying to implement Google login using Appwrite in my Flutter web app. The login process opens a new tab for authentication, but after logging in:
The popup remains open instead of closing automatically. The main page does not immediately update to show the logged-in user. The login button stays disabled even if I close the popup manually. There's no logout button appearing after login.
Future<void> googleLogin() async { setState(() => isLoading = true); try { final account = Account(widget.account.client); await account.createOAuth2Session( provider: OAuthProvider.google, success: 'http://localhost:3000/auth.html', );
await Future.delayed(Duration(seconds: 2));
final user = await account.get();
if (user != null) {
setState(() {
loggedInUser = user;
isLoading = false;
});
} else {
setState(() => isLoading = false);
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Error retrieving user data')),
);
}
} catch (e) { setState(() => isLoading = false); ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text('Login failed: $e')), ); } }
My auth.html file contains: <!DOCTYPE html>
<title>Authentication complete</title> <p>Authentication is complete. If this does not happen automatically, please close the window.</p> <script> window.opener.postMessage({ 'flutter-web-auth-2': window.location.href }, window.location.origin); window.close(); </script>Questions: How can I make the popup window close automatically after login? How do I ensure the main page updates immediately with the logged-in user info? Is there a better approach to handling OAuth login in Flutter Web with Appwrite? Any help would be greatly appreciated! Thanks in advance.
Recommended threads
- Which flutter SDK version for Self Hoste...
Hi all, Is there a good way to figure out which version of flutter SDK and Dart SDK is current for latest available self-hosted 1.8.0 ? I know new features are...
- redirect_uri errors on flutter client
Hi all, I'm using the flutter client for my app to do appwrite auth and use the JWTs to send to my backend. When I try to sign in with SSO, I get this: https:/...
- Problem with getting rows from related t...
Hi, I migrated the Appwrite SDK to 1.8.0 and the package in my Flutter app to version ^20.3.2. I noticed one thing is different. Previously, when I got a JSON r...