i was looking for ways to bypass web redirect in sign in with google, i came across this idea;
- Use google_sign_in for native authentication (no web redirect).
- Send the obtained Google ID token to AppWrite for server-side verification.
- 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.Recommended threads
- Impossible to get USER after createEmail...
Am using provider to deal with functions linked to appwrite. Here is my login. Future<String?> login(String email, String password) async { try { aw...
- User ID case sensitivity
I see that through REST (and SDK as well), getting a user is not case sensitive. And even though documentation does not clearly state that it is, the wording "V...
- Weird permission failure
when creating an account I use following methods: ``` Future<void> register(String email, String password, String username) async { final user = await accoun...