Cita a partir de mañana
Agendar revisión
99 €
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
La petición ha llegado a Supabase, que la ha mirado y ha dicho que no. A diferencia de otros errores, aquí la conexión funciona: lo que no le vale es la credencial que le estás enseñando.
Analízala gratis mientras lees. Tarda treinta segundos y no toca nada.
Solo leemos lo que tu app ya le entrega a cualquier visitante.
La causa más habitual es de las que dan rabia: la clave está copiada a medias. Son cadenas larguísimas y al seleccionarlas con el ratón es fácil dejarse el final, o arrastrar un espacio o un salto de línea al pegarlas. Supabase la recibe distinta y la rechaza sin más explicación.
La segunda es tener claves y proyecto cruzados. Pasa mucho después de duplicar un proyecto o de crear uno nuevo para producción: la dirección apunta a un proyecto y la clave es del otro. Cada clave solo vale para su proyecto.
Las otras tres: que la clave se regenerara en el panel y tu app siga usando la vieja; que estés usando una clave del formato antiguo después de haber migrado el proyecto al nuevo sistema de claves; o que la variable de entorno llegue vacía y la app esté mandando literalmente la palabra undefined como si fuera la clave.
Y hay una quinta que conviene mirar antes que ninguna: que al copiar cogieras la clave que no era. Si en el código de tu app acabó la service_role en vez de la pública, no tienes un error de configuración, tienes la llave maestra de tu base de datos publicada en internet. El análisis gratuito de arriba te lo dice en treinta segundos, y merece la pena descartarlo antes de seguir.
Se arregla en dos paneles y sin tocar código. Hazlo en este orden, porque el primer paso descarta el caso urgente.
Si el mensaje aparece solo en algunas partes de la app y en otras no, no es la clave: es que hay más de un sitio en el código creando la conexión con Supabase, y uno de ellos usa una variable distinta.
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 pegarle a tu agente
Mi app da el error "Invalid API key" al llamar a Supabase. Necesito que hagas esto: 1. Busca todos los sitios del proyecto donde se crea un cliente de Supabase y dime cuántos hay y qué variables de entorno lee cada uno. Si hay más de uno, unifícalos en un único módulo compartido. 2. Comprueba que en ningún punto se está usando la clave service_role en código que se ejecuta en el navegador. Si la encuentras, dímelo de forma destacada y no la borres sin avisarme: hay que rotarla en un orden concreto. 3. Añade una comprobación al arrancar que verifique que la clave no llega vacía ni con el valor literal "undefined", y que falle con un mensaje claro si eso pasa. 4. Comprueba que la clave no se está recortando ni transformando en ningún sitio del código antes de usarse. No escribas ninguna clave directamente en el código: todas tienen que seguir viniendo de variables de entorno.
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.
Cita a partir de mañana
99 €
Elegimos hueco, miro tu app con calma y te digo qué pasa y cómo se arregla.
Hoy, en cola prioritaria
199 €
Entras en la cola de hoy. Reservas hueco y lo dejamos resuelto en el día.
Marc Sala
IT Manager
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.