Error 400: redirect_uri_mismatch for all users, blocking the integration entirelyError 400: redirect_uri_mismatch screenGoogleAccountLink.tsx → authClient.linkSocial()) has no relationship to the calendar OAuth flowgcalOAuthClient.ts from the BETTER_AUTH_URL or SERVER_URL environment variable — if either resolves to a value not registered in the Google Cloud Console OAuth app config, Google rejects the requestBETTER_AUTH_URL/SERVER_URL resolves to in production and verify it matches what's registered in the Google Cloud Console for the OAuth app (or GOOGLE_CAL_CLIENT_ID if a separate credential is in use)Backend
src/util/functions/googleCalendar/gcalOAuthClient.ts — constructs the redirect URI at runtime from BETTER_AUTH_URL or SERVER_URL; the resolved value in the deployed environment is the likely mismatch sourcesrc/routes/googleCalendar.ts — /auth-url endpoint generates the consent URL; /callback endpoint receives the redirect and exchanges the code for tokensFrontend
src/app/tools/settings/integrations/google_calendar/GoogleCalendarConnect.tsx — renders the "Connect Google Calendar" button that initiates the flowsrc/app/tools/settings/account/page.tsx — hosts both GoogleAccountLink (SSO) and GoogleCalendarConnect (calendar) on the same page; the visual proximity of these two components contributed to user and operator confusion about connection statePlease authenticate to join the conversation.
Planned
Main App
About 3 hours ago
Linear
Get notified by email when there are changes.
Planned
Main App
About 3 hours ago
Linear
Get notified by email when there are changes.