Hey Appwrite community! 👋
I'm running into an issue with OAuth authentication in my Next.js app deployed on Vercel. In development, everything works fine for both GitHub and Google OAuth, but when deployed, I’m getting an error: AppwriteException: Invalid redirect
My Setup:
App Framework: Next.js, deployed on Vercel.
Authentication: Using Appwrite’s OAuth for GitHub and Google login.
Redirect URIs in Appwrite:
Success: https://my-app-name.vercel.app/oauth
Failure: https://my-app-name.vercel.app/sign-up
Environment Variable: NEXT_PUBLIC_APP_URL set to the Vercel deployment URL (https://astro-colab.vercel.app/sign-in).
Code Snippet for OAuth in Next.js:
import { createAdminClient } from "@/lib/appwrite";
import { redirect } from "next/navigation";
import { OAuthProvider } from "node-appwrite";
export async function signUpWithGithub() {
const { account } = await createAdminClient();
const redirectUrl = await account.createOAuth2Token(
OAuthProvider.Github,
`${process.env.NEXT_PUBLIC_APP_URL}/oauth`,
`${process.env.NEXT_PUBLIC_APP_URL}/sign-up`
);
return redirect(redirectUrl);
}
export async function signUpWithGoogle() {
const { account } = await createAdminClient();
const redirectUrl = await account.createOAuth2Token(
OAuthProvider.Google,
`${process.env.NEXT_PUBLIC_APP_URL}/oauth`,
`${process.env.NEXT_PUBLIC_APP_URL}/sign-up`
);
return redirect(redirectUrl);
}
Recommended threads
- Why does this happen?
`AppwriteException: general_argument_invalid, Invalid `secret` param: Value must be a valid string and at least 1 chars and no longer than 256 chars (400)` the...
- How to properly implement custom domain?...
- Site deployment does not work.
I can change a file, deploy, change does not take effect. Delete file in repo, push changes,deploy. Old file remains undeleted Duplicate file, rename it, push,...