01Inspect the auth request and response
Capture the Supabase Auth network call, status, and returned message.
What the result tells you: A rejected Auth call is different from a successful session followed by an RLS error.
Appears when: Login or signup not working
Authentication failures usually come from one of four boundaries: the browser never receives a session, the callback URL is not allowed, email/provider settings reject the request, or the app creates a session but fails on its first protected query.
# Map the complete redirect chainRecord start URL, provider callback, Supabase callback, and final app URL.# Align allowed URLs exactlyUpdate Supabase and provider settings for the current production and approved preview origins.# Wait for a resolved sessionGate protected routes and data requests on the auth client’s confirmed state.# Repair post-login policies separatelyIf authentication succeeds, test the profile or tenant write as its own RLS problem.Preserve the current working revision, change one proven boundary, and verify the published path in a clean session.
Capture the Supabase Auth network call, status, and returned message.
What the result tells you: A rejected Auth call is different from a successful session followed by an RLS error.
Check the exact live origin, protocol, domain, path, and any custom-domain callback.
What the result tells you: A callback to localhost or an unapproved origin causes a redirect loop or stranded session.
Confirm the browser stores and restores the authenticated session before protected queries run.
What the result tells you: A valid callback with no persisted session moves diagnosis to client initialization or cookie/storage behavior.
Check whether the app fails while reading or creating the user profile rather than during authentication.
What the result tells you: A 401, 403, or RLS error after login is an authorization or data problem.
| Likely cause | What proves it | First safe action |
|---|---|---|
| Wrong site or redirect URL | A rejected Auth call is different from a successful session followed by an RLS error. | Map the complete redirect chain |
| Provider configuration mismatch | A callback to localhost or an unapproved origin causes a redirect loop or stranded session. | Align allowed URLs exactly |
| Session initialization race | A valid callback with no persisted session moves diagnosis to client initialization or cookie/storage behavior. | Wait for a resolved session |
| Profile insert blocked by RLS | A 401, 403, or RLS error after login is an authorization or data problem. | Repair post-login policies separately |
Authentication failures usually come from one of four boundaries: the browser never receives a session, the callback URL is not allowed, email/provider settings reject the request, or the app creates a session but fails on its first protected query.
Supabase is not configured to return users to the current published domain.
The external OAuth provider and Supabase disagree about the callback URL or client credentials.
Protected UI or queries run before the auth client restores the session.
Freeze generated changes, restore the last known working version, reproduce one request, collect the browser and platform logs, and change one layer at a time.
Inspect the Auth response and resulting session before evaluating the UI or the first protected database request.
The auth record may be valid while a profile, organization, or onboarding write fails under RLS.
No. A service-role key must never be exposed in browser code. Repair the callback, session, or policy boundary.
Free decision aid
Get a senior view of the constraint, the evidence you have, and the next decision that removes the most risk.
No email required for this decision aid. Dismiss once and this popup stays closed for the session.