Getting Started
Google OAuth Brand Verification
Verify your brand in Google Cloud Console so the Gmail OAuth consent screen shows your domain and app name instead of the Supabase URL.
Why This Matters
When users sign in with Google, they see an OAuth consent screen. By default, this screen may display:
- Supabase project URL (e.g.
abcdefgh.supabase.co) instead of your domain - "Unverified app" warning if your app is not verified
- Generic or missing app name and logo
This reduces trust and can make users hesitate to authorize. Verifying your brand and configuring a custom domain ensures users see your app name, logo, and domain — improving authorization rates and reducing revocations.
Two-Part Solution
To show your domain instead of Supabase on the consent screen, you need both:
- Supabase Custom Domain — Use your domain for the OAuth callback (e.g.
auth.yourdomain.com) so Google displays it instead ofsupabase.co - Google Brand Verification — Verify your app's identity with Google so your logo, name, and policies appear correctly and the "unverified app" warning is removed
Part 1: Supabase Custom Domain
The OAuth redirect URI is what Google shows on the consent screen. By default it is https://YOUR_PROJECT.supabase.co/auth/v1/callback. To show your domain, configure a custom domain for your Supabase project.
Supabase Custom Domains require a Pro, Team, or Enterprise plan. See Supabase Custom Domains for pricing.
1.1 Add Custom Domain in Supabase
- Go to Supabase Dashboard → your project → Project Settings → General
- Find Custom Domains and add a subdomain (e.g.
auth.yourdomain.comorapi.yourdomain.com) - Add the CNAME and TXT records Supabase provides to your DNS
- Wait for verification and SSL issuance (up to ~30 minutes)
1.2 Update Google OAuth Redirect URIs
- Go to Google Cloud Console → APIs & Services → Credentials
- Open your OAuth 2.0 Client ID (Web application)
- Under Authorized redirect URIs, add:
https://auth.yourdomain.com/auth/v1/callback(or your custom domain)
- Keep the existing Supabase URL during transition, then remove it after testing
- Save
1.3 Update Your App
Set NEXT_PUBLIC_SUPABASE_URL to your custom domain:
NEXT_PUBLIC_SUPABASE_URL=https://auth.yourdomain.com
Also add the custom domain to Supabase Authentication → URL Configuration → Redirect URLs (e.g. https://yourdomain.com/auth/callback).
Use auth.example.com or api.example.com if your app is on example.com. This keeps a clear relationship between your app and the auth domain.
Part 2: Google Brand Verification
Brand verification tells Google who your app is and verifies your domains. It typically takes 2–3 business days after submission.
2.1 When Verification Is Required
Your app requires verification if:
- You want a logo or display name on the OAuth consent screen
- Your app is set for External users (anyone with a Google Account)
Testing mode (up to 100 test users) does not require verification.
2.2 Configure OAuth Consent Screen
- Go to Google Cloud Console → APIs & Services → OAuth consent screen
- Select External user type (or Internal for Workspace-only apps)
- Fill in:
- App name — Your product name
- User support email — Your support email
- App logo — 120×120 px (required for verification)
- App domain:
- Application home page —
https://yourdomain.com - Application privacy policy —
https://yourdomain.com/privacy - Application terms of service —
https://yourdomain.com/terms(optional)
- Application home page —
- Authorized domains — Add
yourdomain.com(andauth.yourdomain.comif using custom Supabase domain) - Developer contact information — Email for Google to reach you
- Click Save and continue
2.3 Verify Domains in Google Search Console
Google requires domain ownership verification. For SEO indexing (sitemaps, crawl data), see Google Search Console Setup.
- Go to Google Search Console
- Add your domain (e.g.
yourdomain.com) - Verify ownership using one of the methods (DNS TXT, HTML file, or meta tag)
- Use a Google Account that has Owner or Editor on the Cloud project
- Repeat for any subdomains used (e.g.
auth.yourdomain.comif different from main domain)
The Google Account that verifies the domain in Search Console must be associated with the Cloud project (Owner or Editor). Otherwise verification will fail.
2.4 Declare Scopes
- In OAuth consent screen → Scopes, click Add or remove scopes
- Add only the scopes your app needs. For basic Google Sign-In, Supabase typically uses:
openid.../auth/userinfo.email.../auth/userinfo.profile
- Avoid sensitive or restricted scopes unless necessary — they can trigger longer verification
2.5 Submit for Verification
- Go to OAuth Verification Center
- Select your project
- Click Submit for verification
- Provide any requested documentation
- Wait for Google's Trust & Safety team (typically 2–3 business days)
- Respond promptly to any follow-up emails
2.6 Home Page and Privacy Policy Requirements
- Home page must be publicly accessible and clearly describe your app
- Privacy policy must:
- Disclose how you access, use, store, and share Google user data
- Be hosted on the same domain as your app
- Be linked from the OAuth consent screen
- NextBento includes legal pages at
/privacyand/terms— customize them for your app
Checklist Summary
| Step | Action |
|---|---|
| 1 | Add Supabase custom domain (e.g. auth.yourdomain.com) |
| 2 | Add custom domain redirect URI in Google OAuth client |
| 3 | Update NEXT_PUBLIC_SUPABASE_URL to custom domain |
| 4 | Configure OAuth consent screen (name, logo, domains, policies) |
| 5 | Verify domains in Google Search Console |
| 6 | Declare only required scopes |
| 7 | Submit for brand verification |
Exceptions (No Verification Needed)
You can skip verification if your app is:
- Personal use — Only you or a few known users
- Testing — In Testing mode with up to 100 test users
- Internal — Google Workspace org only (Internal user type)
- Service-owned data only — Uses service accounts, no user data
Next Steps
- Supabase Setup — Configure Google OAuth provider
- Authentication — Auth flow overview
- Legal Pages — Customize privacy policy and terms