auth

Auth session missing!

Tu app le ha pedido a Supabase los datos del usuario que ha iniciado sesión, y en ese momento no había ninguna sesión abierta. Ojo al matiz: dice que no la hay ahora, no que el usuario no haya entrado nunca.

Revisado en agosto de 2026

De paso

Ya de paso: ¿tu app está exponiendo datos?

Analízala gratis mientras lees. Tarda treinta segundos y no toca nada.

Solo leemos lo que tu app ya le entrega a cualquier visitante.

Diagnóstico

Por qué te pasa

En la mayoría de los casos no es un problema de sesión, es de momento. Cuando alguien inicia sesión, la sesión se guarda en el navegador; al recargar la página, la librería de Supabase tiene que leerla de ahí y eso tarda unos milisegundos. Si tu código pregunta por el usuario nada más arrancar, pregunta antes de que la respuesta esté disponible. El usuario está perfectamente identificado y aun así ves este error. Se reconoce porque va y viene: al recargar falla, al navegar dentro de la app funciona.

El segundo caso es que la sesión se haya perdido de verdad. Pasa cuando el usuario vuelve de un enlace de confirmación de correo o de un inicio de sesión con Google y aterriza en una dirección que Supabase no tiene declarada como válida: el proyecto corta el proceso y la sesión no llega a establecerse.

El tercero es de navegador: la sesión se guarda en el almacenamiento local, y en modo incógnito o con la protección reforzada de Safari ese almacenamiento se limpia o se bloquea. Es la explicación cuando un usuario concreto se queja y a los demás no les pasa.

Lo que este error no significa

  • No significa que hayas perdido usuarios ni cuentas. Los usuarios registrados siguen en Supabase; lo que falta es la sesión de este navegador en este instante.
  • No significa que tu inicio de sesión esté roto. Si al navegar por la app sí reconoce al usuario y solo falla al recargar, el inicio de sesión funciona y lo que falla es el orden en que preguntas.
  • No es un fallo de seguridad. Que no haya sesión y la app lo diga es el comportamiento correcto: lo preocupante sería lo contrario.

Solución

Arréglalo tú, gratis

Hay una parte que se arregla en el panel de Supabase y otra que es de código. Empieza por el panel, que descarta la causa más silenciosa.

  1. 01En Supabase, entra en Authentication y luego URL Configuration. Comprueba que Site URL es la dirección de tu app publicada, con https y sin barra final.
  2. 02En esa misma pantalla, en Redirect URLs, añade todas las direcciones desde las que se puede volver tras iniciar sesión o confirmar el correo. Si usas previsualizaciones de Vercel, cada una tiene su propio dominio y ninguna funcionará si no está declarada.
  3. 03Prueba el flujo entero en una ventana normal: entra, cierra la pestaña, vuelve a abrir la app. Si te reconoce, la configuración está bien.
  4. 04Repite la prueba en una ventana de incógnito. Si ahí falla y en la normal no, es el almacenamiento del navegador y no tu app: conviene entonces que la app avise con un mensaje comprensible en vez de romperse.
  5. 05Si al recargar falla y al navegar por dentro funciona, ya sabes que es el problema de momento. Eso se arregla en el código, con el prompt de abajo.

Y esto para la parte de código

Pégaselo tal cual al agente que escribió tu app. Está redactado para que te diga lo que ha hecho, no solo para que lo haga.

Prompt para tu agente

Mi app da el error "Auth session missing!" con Supabase. Falla sobre todo al recargar la página, y al navegar dentro de la app sí reconoce al usuario.

Necesito que hagas esto:
1. Busca todos los sitios donde se pide el usuario actual y dime cuáles se ejecutan al cargar el módulo o al montar el primer componente, antes de que la sesión esté restaurada.
2. Cambia el arranque para que la app espere a saber si hay sesión antes de decidir qué pintar: primero consulta la sesión existente y luego suscríbete a los cambios de estado de autenticación, en vez de preguntar una sola vez al principio.
3. Añade un estado de carga explícito mientras no se sabe si hay usuario. Ahora mismo la app está tratando "todavía no lo sé" como "no hay usuario", y por eso parpadea o expulsa al visitante.
4. Asegúrate de que las consultas a datos que dependen del usuario no se lanzan hasta que la sesión está confirmada.
5. Si tras todo esto no hay sesión de verdad, muestra un mensaje claro invitando a iniciar sesión, sin mensajes técnicos.

Dime también qué direcciones tengo que tener declaradas en la configuración de URLs de mi proyecto de Supabase para que los retornos de inicio de sesión funcionen.

Si no sale

¿Lo has intentado y sigue sin salir?

O el escáner de arriba ha encontrado algo y prefieres no tocarlo solo. En cualquiera de los dos casos esto ya es de los gordos y merece un humano: no es que no hayas sabido, es que has llegado al punto en que hace falta alguien que entre y lo vea por dentro.

Las 10 primeras apps son gratis. Estoy empezando y necesito casos reales. A cambio te pido permiso para contar después qué me encontré, sin decir de quién era la app ni enseñar tus datos. Sin tarjeta y sin suscripción: cuando se acaben las plazas empezaré a cobrar y lo diré aquí.

Cita a partir de mañana

Agendar revisión

Gratis

durante el lanzamiento

Elegimos hueco, miro tu app con calma y te digo qué pasa y cómo se arregla.

  • Sesión de trabajo en directo contigo
  • Diagnóstico del error y del riesgo real
  • Te quedas con el arreglo aplicado

Hoy, en cola prioritaria

Rescate exprés

Gratis

durante el lanzamiento

Entras en la cola de hoy. Reservas hueco y lo dejamos resuelto en el día.

  • Hueco el mismo día
  • Prioridad sobre las revisiones agendadas
  • Mismo trabajo, antes

Quién

Marc Sala

IT Manager

  • Analista de ciberseguridad certificado por Google

No es un rating anónimo de un marketplace: es la persona que va a entrar en tu app. Reviso el código, encuentro qué falla y lo arreglo contigo delante, explicándote qué ha pasado sin jerga.