Google Sign-In Redirects Back to Account Selection Instead of Closing the WebView
- 1
- Self Hosted
- Auth
- Flutter

Hello Appwrite Support Team,
I am implementing Google Sign-In in my Flutter app. Everything works perfectly on the emulator. However, on my physical device, when I use the "Sign in with Google" option, it opens an in-app browser to select a Google account.
After successfully signing in and selecting the account, the in-app browser redirects back to the account selection page instead of closing. This behavior differs from the expected outcome where, upon successful authentication, the browser should close, and the app should resume.
I have already declared the necessary activity in the AndroidManifest.xml file.
Here is some code I’ve tried:
<intent-filter android:label="flutter_web_auth_2">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="appwrite-callback-6749dd62000bc24eac8a" />
</intent-filter>
</activity>```
**service.dart**
``` //* Login a user using google
Future<dynamic> continueWithGoogle() async {
try {
await account?.createOAuth2Session(
provider: OAuthProvider.google,
scopes: [
"profile",
"email",
],
);
return true;
} catch (e) {
return e.toString();
}
}```
**signinmethod.dart**
Due to text limit restriection I can't share signinmethod.dart here, Check out my Google docs for signinmethod.dart code: https://docs.google.com/document/d/1kYKQKKxJagkmimhpolxQFhQ59t9GDuRLOV-me_N6EFs/edit?usp=sharing

Device Details:
Model: Redmi Note 10 Pro Brand: Xiaomi Android Version: 13

I have this same issue; I hope we get a solution as soon as possible.

What's the continuewithgoogle function?

What's your code?

I recommend creating a separated issue

I have this:
app_write_client.dart:
Client appWriteClient = Client().setEndpoint('https://cloud.appwrite.io/v1').setProject('6758162500220388bb27');
Account account = Account(appWriteClient);
auth_service.dart:
@singleton
class AuthenticationService {
Future<User> googleSignIn() async{
try {
final response = await account.createOAuth2Session(provider: OAuthProvider.google);
AppLogger.debug('googleSignIn response: ${response.toString()}');
final user = await account.get();
AppLogger.debug('googleSignIn User details: ${user.toMap()}');
return user;
} on AppwriteException catch (error, stackTrace) {
AppLogger.error("googleSignIn Error: $error", stackTrace);
throw error.toString();
}
}
}

in my viewmodel, i have this:
startLoader();
try {
await authenticationService.googleSignIn();
// await Future.delayed(const Duration(microseconds: 500));
navigationService
.navigateToAndRemoveUntilWidget(const AppBottomNavScreen(
selectedIndex: 0,
));
AppLogger.debug("Google Login Success :::");
showCustomToast("Google Login Successful", success: true);
} catch (err, s) {
AppLogger.error("Google Login Error ::: ${err.toString()}", s);
showCustomToast(err.toString());
} finally {
stopLoader();
}
}```

AndroidManifest.xml:
...
<activity android:exported="true" android:name="com.linusu.flutter_web_auth_2.CallbackActivity" >
<intent-filter android:label="flutter_web_auth_2">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="appwrite-callback-6758162500220388bb7" />
</intent-filter>
</activity>
...

Try routing just after the
await account.createOAuthSession
Code

@COCAINE @Utibe Is that working?
Recommended threads
- CSV Import not working
I am running 1.7.4, trying the sample book csv import. I get a pop up saying import started and then a quick follow up saying completed. Nothing ever appears ...
- Is my approach for deleting registered u...
A few weeks ago, I was advised not to use the registered users' id in my web app. Instead, I store the publicly viewable information such as username and email ...
- ❗[Help] Function stuck in "waiting" stat...
Hi Appwrite team 👋 I'm trying to contribute to Appwrite and followed the official setup instructions from the CONTRIBUTING.md guide to run the platform locall...
