BREAKING: Supabase JWT Authentication Outage — Immediate Workarounds
Supabase experiencing widespread 401 JWT rejection errors. Authentication failing across projects. Workarounds and status inside.
Incident Summary
Supabase is currently experiencing a critical authentication outage affecting JWT token validation across multiple regions. Users report widespread 401 Unauthorized errors when attempting API requests, even with valid credentials.
What's Down
How to Check If You're Affected
```bash
Test your Supabase API with curl
curl -H "Authorization: Bearer YOUR_TOKEN" \ https://YOUR_PROJECT.supabase.co/rest/v1/If you receive: {"message":"JWT validation failed"} → You're affected
```Also check:
Immediate Workarounds
1. Switch to Service Role Key (Temporary Only)
For non-production testing: ```javascript const { createClient } = require('@supabase/supabase-js'); const supabase = createClient(URL, SERVICE_ROLE_KEY); // ⚠️ Use only temporarily — exposes admin permissions ```2. Bypass Client Authentication
Implement server-side authentication proxy: ```javascript // Your backend handles auth, not client app.post('/api/data', async (req, res) => { const data = await supabase .from('table') .select('*') .using(SERVICE_ROLE_KEY); res.json(data); }); ```3. Use PostgreSQL Connection Directly
Connect to underlying Postgres via psql: ```bash psql postgresql://postgres:PASSWORD@db.supabase.co:5432/postgres ```4. Implement Offline-First Caching
```javascript // Cache data locally; sync when auth restored const cachedData = localStorage.getItem('lastSync'); if (!hasInternet || authFailing) { renderFromCache(cachedData); } ```5. Switch to Alternative Provider (Temporary)
Current Workaround Limitations
⚠️ Important: We're unsure about:
Alternatives & Interim Solutions
| Solution | Pros | Cons | |----------|------|------| | Server proxy (Workaround #2) | Secure, maintains auth flow | Requires backend changes | | Direct DB connection | Bypasses API layer | Exposes DB credentials | | Firebase fallback | Battle-tested, instant | Requires migration code | | Offline-first app | Works without connection | Stale data issues |
Next Steps
1. Monitor: Check [Supabase Status Page](https://status.supabase.com/) 2. Subscribe: Enable incident notifications 3. Document: Log affected requests for post-mortem 4. Implement: Deploy #2 (server proxy) as fastest fix 5. Communicate: Update users on auth delays
Support Resources
Last Updated: Current time UTC Severity: CRITICAL — Production authentication unavailable