Feature Fix

Fix Supabase Auth Blocked in India

Supabase Auth relies on /auth/v1/ which is blocked by Indian ISPs. Here is what breaks, the impact on your users, and how to fix it with a one-line code change.


What breaks

When your ISP blocks *.supabase.co, all Supabase Auth endpoints become unreachable. This means sign up, sign in, password reset, magic links, OAuth flows (Google, GitHub, etc.), session refresh, and token verification all fail. Users see infinite loading spinners, "network error" messages, or get silently logged out. Auth cookies and JWTs may still be valid locally, but any server-side verification or token refresh fails.

Impact on your users

Authentication is typically the first thing a user interacts with. If Auth is blocked, new users cannot create accounts, existing users cannot log in, active sessions eventually expire without refresh, and OAuth redirects fail because the callback URL points to a blocked domain. This is a complete app lockout for affected ISP users.

Why Auth is blocked

Indian ISPs (Jio, Airtel, BSNL, ACT Fibernet) are DNS-blocking all subdomains under *.supabase.co following a government order under Section 69A of the IT Act. This means every Supabase service endpoint is unreachable, including the /auth/v1/ path that Auth depends on.

The block is at the DNS level. Your ISP's DNS resolver returns incorrect IP addresses for Supabase domains, causing connections to time out or fail. Supabase itself is fully operational - the block is ISP-specific.

Technical details

Supabase Auth makes HTTP requests (and WebSocket connections for Realtime) to your Supabase project's /auth/v1/ endpoint. When DNS is poisoned:

DNS lookup for your-project.supabase.co returns a sinkhole IP or NXDOMAIN
HTTP requests to /auth/v1/ hang until timeout (10-30 seconds)
The Supabase JS client throws a network error or returns undefined
Your app displays error states, empty data, or infinite loading spinners

Affected ISPs

The following ISPs are confirmed to block Supabase Auth (along with all other Supabase services):

Fix Supabase Auth

Route Supabase Auth traffic through an unblocked domain. Your existing code stays almost identical — just swap the URL. Two options:

Recommended

Self-host your own proxy

Deploy a full-featured proxy on your own Cloudflare Workers account. Free, open-source, under 60 seconds.

terminal
npx create-jiobase

Guided setup: enter your Supabase URL, configure CORS, deploy. Supabase Auth + all other services included.

Learn more →

Or use JioBase managed

Dashboard with analytics, rate limiting, and automatic updates. Sign up free, add your Supabase project, and swap one URL.

lib/supabase.ts
import { createClient } from '@supabase/supabase-js'

// Before (blocked on Indian ISPs):
// const supabase = createClient('https://xyz.supabase.co', 'your-anon-key')

// After (proxied through JioBase):
const supabase = createClient('https://myapp.jiobase.com', 'your-anon-key')

// Auth works exactly the same - no code changes needed:
const { data, error } = await supabase.auth.signInWithPassword({
  email: '[email protected]',
  password: 'password'
})

Deploy and verify

Deploy your updated code and test from a blocked ISP (Jio, Airtel) to confirm Auth operations work through the proxy. Your anon key stays the same. Supabase Auth works identically through the proxy.

What stays the same

When you switch to a JioBase proxy URL, everything except the URL stays identical:

Your anon key stays the same
Your RLS policies are completely unaffected
Your database schema and data are untouched
Your Supabase dashboard continues to work normally
All other Supabase features (Auth, Storage, Realtime, Edge Functions) work through the same proxy

Frequently asked questions

Will my existing user sessions break?

Active sessions with valid JWTs will continue to work until they expire. However, token refresh will fail because it requires calling the Auth endpoint. Once the JWT expires (default: 1 hour), users will be logged out and cannot log back in. Fix the block before sessions expire.

Does OAuth (Google, GitHub login) work through the proxy?

Yes. JioBase proxies all Auth endpoints including OAuth callbacks. You do not need to change your OAuth provider settings. The proxy transparently handles the redirect flow. Just swap the Supabase URL in your client code.

Do I need to change my Supabase anon key?

No. Your anon key stays exactly the same. The proxy forwards all headers including the apikey. Your RLS policies, auth settings, and database rules are completely unaffected.

Fix your Supabase app in under 60 seconds

JioBase routes your Supabase traffic through Cloudflare's edge network. No VPN, no DNS hacks, no code rewrites. One command or one line change.

npx create-jiobase — deploy your own proxy on Cloudflare Workers

Related pages