Back

How to implement Google Authentication and deploy web app to Vercel ?

  • 0
  • Auth
  • Web
  • Cloud
richardoey
26 Jun, 2024, 12:23

Hi, I implemented Appwrite Google Authentication in NextJS v14.1.3 and successfully implemented the sign in feature (on SSR) when trying it in localhost, but when deploy to Vercel, I see the console showing this error and not let me sign in, is there any special thing I should do before deploying to Vercel?

I followed SSR tutorial from Appwrite (https://appwrite.io/docs/tutorials/nextjs-ssr-auth/step-7)

Thank you very much for your help !

TL;DR
Developers discuss issues with implementing Google Authentication and deploying a web app to Vercel. Solution for domain verification delay is to wait 48 hours for DNS changes. Error due to missing .env file in production. Another issue arises with "Invalid `success` param" requiring URL host to be localhost, cloud.appwrite.io, or appwrite.io.
Ryan
26 Jun, 2024, 12:28

That looks like an error generated by Vercel, I'm not too familiar with hosting on Vercel, but are there any logs that you're able to access that could show the proper error?

richardoey
26 Jun, 2024, 12:37

Hi Ryan, thank you for replying me!

I just checked again the server log, there is this log

TypeError: Invalid URL at new URL (node:internal/url:797:36) at l.call (/var/task/.next/server/app/signin/page.js:3:105095) at s.createOAuth2Token (/var/task/.next/server/app/signin/page.js:3:125188) at s (/var/task/.next/server/app/signin/page.js:1:13347) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { code: 'ERR_INVALID_URL', input: 'undefined/account/tokens/oauth2/google' }

I wonder, do I need to change the const origin = headers().get("origin"); to be my vercel domain?

Ryan
26 Jun, 2024, 12:40

Changing it to the Vercel domain would definitely work, not sure if this is also worth a look as it lists the headers that are included in deployments https://vercel.com/docs/edge-network/headers#host

richardoey
26 Jun, 2024, 13:45

Hi Ryan, sorry, previous error is because I didn't push .env file to production 😩 . Once I push the .env file, I got another issue which is "Invalid success param: URL host must be one of: localhost, cloud.appwrite.io, appwrite.io"

I got this when either using

const origin = headers().get("origin") or
const origin = "https://<domain>.vercel.app"

richardoey
26 Jun, 2024, 14:14

I have tried with this solution : https://discord.com/channels/564160730845151244/1236413621660291193

but the domain verification is failed. Do I need to wait for 48 hours?

Ryan
26 Jun, 2024, 15:35

Domain verification can take some time simply due to how long DNS changes can take. I'd say give it about 48 hours just to make sure and then check back in on the domain verification

richardoey
1 Jul, 2024, 11:54

Did I do it correctly?

saura
19 Nov, 2024, 23:00

I need to fix this too pls

saura
19 Nov, 2024, 23:00

what was the fix? @Ryan @richardoey

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