Solución de problemas

Los errores más frecuentes al integrar Block-Auth. En cada uno verás el mensaje que recibes, por qué ocurre y cómo resolverlo.

App no activa

Mensaje: App not active, contact your admin (403).

Causa: tu app todavía no está activa. Una app solo se activa cuando su dominio se ha validado con un registro DNS.

Solución: en el Dashboard, abre la app, copia el valor de verificación y añádelo como registro TXT en tu dominio. Después pulsa validar. Los cambios de DNS pueden tardar unos minutos en propagarse. Consulta Valida tu dominio.

Autenticación bloqueada

Mensaje: Authentication blocked: tenant billing grace period ended. (403).

Causa: tu cuenta de empresa tiene un pago pendiente y el periodo de gracia ha terminado. Se bloquean los logins de todas sus apps.

Solución: regulariza la facturación desde el Dashboard. Los logins vuelven a funcionar en cuanto la cuenta está al día.

redirect_uri no válido

Mensaje: Invalid redirect_uri (400), de /api/auth/authorize o /api/auth/token.

Causa: el redirectUri que envías no cumple las reglas.

Solución: comprueba que:

  • Usa https. El dominio de tu app tiene que estar validado, así que en desarrollo usa tu dominio de desarrollo con un túnel, no localhost (una app por entorno).
  • Tiene exactamente el host del dominio de tu app, con el puerto incluido.
  • No lleva usuario, contraseña ni #fragmento, y tiene menos de 2048 caracteres.
  • Es el mismo en /api/auth/authorize y en /api/auth/token.

Código no válido

Mensaje: Invalid code (400), de /api/auth/token.

Causa: el código ha caducado, ya se canjeó o se emitió para otro redirectUri.

Solución: canjea el código en cuanto tu callback lo reciba: dura 60 segundos y solo vale una vez. No lo canjees dos veces, por ejemplo al recargar la página o con una petición duplicada. Envía el mismo redirectUri que usaste para obtenerlo.

Mensaje: Login popup blocked o Login window closed en la consola del navegador.

Causa: el navegador bloqueó la ventana emergente, o tu página perdió el contacto con ella.

Solución:

  • Abre el login directamente desde el clic del usuario. Si tu código espera algo antes de abrirlo, el navegador bloquea la ventana.
  • Sirve la página desde el dominio validado de tu app.
  • Si tu sitio envía Cross-Origin-Opener-Policy: same-origin, cámbialo a same-origin-allow-popups. Si no, tu página no puede recibir el resultado de la ventana.

Las rutas del backend no responden

Mensaje: [Block-Auth] … en la consola del navegador, tras el login o al cargar la página.

Causa: el widget llama a /code, /me y /logout bajo /auth/blockauth (o tu authEndpoint), y una de ellas falta, no es accesible o la responde tu frontend en lugar de tu backend.

Solución: sigue el mensaje. Indica la ruta y qué cambiar:

  • answered 404: añade esa ruta a tu backend (Rutas del backend).
  • did not reach your backend: sirve las rutas desde el mismo origen que tu página, o permite el origen de tu página en el CORS de tu backend con credenciales. Las rutas deben responder sin redirecciones.
  • without JSON: ha respondido tu servidor de frontend en lugar de tu backend. Redirige /auth/blockauth a tu backend en tu servidor de desarrollo (ejemplos para Vite y Angular) y en producción.
  • could not redeem the code: revisa los logs de tu backend y el apiKey, el hash del apiSecret y el redirectUri que envía a /api/auth/token.

Content Security Policy

Mensaje: errores como Refused to connect to … because it violates the Content Security Policy en la consola.

Causa: tu sitio envía una CSP que no permite las conexiones del SDK.

Solución: añade los orígenes del widget a tu CSP:

Content-Security-Policy

connect-src 'self' https://wss.block-auth.io;
img-src 'self' https://dashboard.block-auth.io;
style-src 'self' 'unsafe-inline';

Para qué sirve cada uno está en Pruébalo y pasa a producción.

No llegan webhooks

Causa: la URL se ignora o tu endpoint tarda demasiado.

Solución: comprueba que la URL del Dashboard usa https, está en el dominio de tu app y no es /signout/callback. Responde en menos de 5 segundos y sin redirigir. Cada evento se envía una sola vez. Consulta Webhooks.

Otros errores de la API

MensajeCausaSolución
App not foundapiKey incorrecta, o apiSecret sin hashear.Envía el SHA-256 del apiSecret, no el secret.
Unauthorized, valid token required (401)Falta el token de acceso o ha caducado, en un endpoint de datos.Pide otro con /api/refresh o /api/signin.
Too many requests (429)Demasiados intentos fallidos de credenciales desde tu IP.Corrige las credenciales y espera los segundos de Retry-After.
User not signed in APP yet (403)La sesión del usuario en tu app ha terminado.Pide al usuario que vuelva a iniciar sesión.

Si aun así no lo resuelves, contacta con el soporte de Block-Auth indicando el mensaje de error exacto.