Skip to content
Back

How to save the user to the DB after OAuth login?

  • 0
  • Auth
Omar
16 Dec, 2024, 10:06

This function fails to save the user to the DB after login:

TypeScript
export async function loginUsingGoogle() {
  await account.createOAuth2Session(
    OAuthProvider.Google,
    "http://localhost:3000/verification",
    "http://localhost:3000/sign-in"
  );
  const user = await account.get();
  try {
    await databases.getDocument("development", "users", user.$id);
  } catch {
    const imageUrl = avatar.getInitials(user.name);
    await databases.createDocument("development", "users", user.$id, {
      email: user.email,
      name: user.name,
      imageUrl,
    });
  }
}

I'm assuming the reason for that is that the page gets redirected to the external auth page. So how do I add a user to the DB after a successful login?

TL;DR
The function to save the user to the DB after OAuth login is failing due to redirection to the external auth page. To resolve this, consider updating the code flow to handle the successful login scenario after the redirection. This could involve implementing a callback function or handling the user creation logic after successful authentication.
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