Skip to content

Add Google OAuth sign-in for self-hosted deployments#15

Merged
pratikbodkhe merged 1 commit intomainfrom
feat/google-oauth
May 1, 2026
Merged

Add Google OAuth sign-in for self-hosted deployments#15
pratikbodkhe merged 1 commit intomainfrom
feat/google-oauth

Conversation

@pratikbodkhe
Copy link
Copy Markdown
Contributor

Summary

  • Wire up GoTrue Google OAuth provider in docker-compose.yml (ENABLE_GOOGLE_AUTH, GOOGLE_AUTH_CLIENT_ID, GOOGLE_AUTH_CLIENT_SECRET)
  • Separate Google sign-in OAuth credentials from Google Calendar integration credentials in .env.example
  • Add migration 00007 to populate avatar_url from OAuth user metadata in the handle_new_user trigger
  • Client-side Google sign-in flow (login button, /auth/callback, profile trigger) was already complete; this adds the server-side config

Setup

  1. Create a Google Cloud OAuth 2.0 Web Client
  2. Set authorized redirect URI to http://localhost:8000/auth/v1/callback
  3. Set ENABLE_GOOGLE_AUTH=true, GOOGLE_AUTH_CLIENT_ID, GOOGLE_AUTH_CLIENT_SECRET in .env

Test plan

  • TypeScript compiles cleanly
  • Docker Compose config validates
  • Migration SQL is valid
  • Manual: Google sign-in flow with real credentials

Wire up GoTrue Google provider config in docker-compose.yml with
ENABLE_GOOGLE_AUTH, GOOGLE_AUTH_CLIENT_ID, and GOOGLE_AUTH_CLIENT_SECRET
env vars. Update .env.example to separate Google sign-in credentials
from Google Calendar integration credentials. Add migration 00007 to
populate avatar_url from OAuth metadata in the handle_new_user trigger.

The client-side Google OAuth flow (login page button, /auth/callback
route, profile trigger) was already implemented; this commit adds the
server-side configuration needed for self-hosted deployments.
@pratikbodkhe pratikbodkhe merged commit 108fd87 into main May 1, 2026
0 of 3 checks passed
@pratikbodkhe pratikbodkhe deleted the feat/google-oauth branch May 1, 2026 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant