Skip to content
Back

Native Google Sign-In-Google with AppWrite (Bypassing Web Redirect)

  • 1
  • Flutter
  • Auth
frankenstein
26 Mar, 2025, 09:13

i was looking for ways to bypass web redirect in sign in with google, i came across this idea;

  1. Use google_sign_in for native authentication (no web redirect).
  2. Send the obtained Google ID token to AppWrite for server-side verification.
  3. Get an AppWrite session without using OAuth redirects.

here is the code;

TypeScript
  scopes: ['email', 'profile'],
  serverClientId: 'YOUR_SERVER_CLIENT_ID', // Required for backend validation
);```
and
```Future<void> signInWithGoogle() async {
  try {
    // 1. Native Google Sign-In
    final GoogleSignInAccount? googleUser = await _googleSignIn.signIn();
    final GoogleSignInAuthentication googleAuth = await googleUser!.authentication;

    // 2. Extract ID Token (JWT)
    final String? idToken = googleAuth.idToken;
    if (idToken == null) throw Exception("No ID token received");

    // 3. Authenticate with AppWrite
    final Account account = Account(client);
    final session = await account.createSession(
      provider: 'google', // Must match AppWrite's provider
      token: idToken,    // Google's JWT token
    );

    print("Success! User ID: ${session.userId}");
  } catch (e) {
    print("Error: $e");
  }
}```

is there a possibility of this working? @D5 @Steven
TL;DR
Use Google's native authentication to obtain the Google ID token and send it to AppWrite for server-side verification to bypass web redirect. The provided code should work for achieving this.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more