socorrist.app

Invalid API key

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.

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.

Por qué te pasa

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.

Lo que este error no significa

Arréglalo tú, gratis

Se arregla en dos paneles y sin tocar código. Hazlo en este orden, porque el primer paso descarta el caso urgente.

  1. 1Antes de nada, analiza tu app con el escáner de arriba. Si te dice que hay una clave service_role publicada, para aquí: eso se arregla en un orden concreto y merece su propio rato.
  2. 2En Supabase, entra en Project Settings y luego Data API. Comprueba que la URL del proyecto que aparece ahí es exactamente la que tiene tu app configurada. Si no coincide, tienes las claves cruzadas entre dos proyectos.
  3. 3En API Keys, usa el botón de copiar de la propia interfaz en vez de seleccionar con el ratón. Es la diferencia entre copiar la clave entera y copiar casi toda.
  4. 4Ve al panel de tu hosting, borra el valor anterior por completo y pega el nuevo. Comprueba que no queda ningún espacio al principio ni al final.
  5. 5Vuelve a desplegar y prueba. Las variables se leen al construir la app: sin desplegar de nuevo seguirás viendo el error aunque el valor ya esté bien.

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.

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 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.

¿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.

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

Hoy, en cola prioritaria

Rescate exprés

199 €

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 lo arregla

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.