Una sola forma de entrar, sea lo que sea lo que estés conectando.
Una base de datos que gestionas, un archivo que sueltas, un pequeño script en tu propio servidor. Todos son entradas en la misma tabla, todos se registran de la misma manera, y añadir un tipo nuevo es una entrada, no una pantalla nueva.
Qué puedes conectar hoy
Dos formas, y un archivo
Una base de datos, directamente
PostgreSQL, MySQL o MongoDB. Host, puerto, base de datos, usuario, contraseña, TLS activado por defecto. De solo lectura: nada de lo que hace dash-b puede escribir en tus datos de producción.
Un conector en tu propio servidor
Un único archivo PHP que subes junto a la base de datos. dash-b recibe una dirección y un secreto de firma, y nada más: ni host, ni usuario, ni contraseña. Es la única fuente que puede escribir, y precisamente por eso.
Un archivo
Suelta una hoja de cálculo o un CSV en el tablero y se convierte en una tabla real, con sus columnas leídas del archivo en lugar de ser adivinadas por ti. Sin registro, sin credenciales, nada que configurar.
Qué pasa con una contraseña
Nunca se te vuelve a mostrar un secreto
Una vez almacenada una credencial, el formulario que la almacenó no puede volver a mostrarla. No es una opción de configuración: es una pieza de código separada de la que rellena formularios con valores guardados, mantenida separada a propósito, de modo que «mostrar el valor almacenado» no esté a una sola opción de escribir una contraseña de base de datos en una página que puede capturarse, compartirse en pantalla o leerse del DOM.
El conector existe para que el secreto más importante que tienes nunca salga de tu propio servidor.
Tus credenciales de base de datos se quedan en un archivo de configuración en la máquina que ya las tenía. dash-b guarda una dirección y una firma, y ninguna de las dos abre tu base de datos a nadie más.
Iniciar sesión en otra cosa
Por qué aquí no hay casilla de inicio de sesión
Conectar una cuenta —a diferencia de una base de datos— significa la propia página de inicio de sesión del proveedor, en una ventana propia, y un intermediario que guarda el secreto de la aplicación para que dash-b nunca lo tenga y nunca vea tu contraseña.
No se hace dentro de la página, y no es una preferencia. Google y Facebook se niegan a ser incrustados, deliberadamente: un formulario de inicio de sesión mostrado dentro del documento de otra persona es indistinguible de una página de phishing, y construir uno sería enviar un rectángulo en blanco.
El catálogo está construido para estos y el mecanismo está en su sitio; las conexiones en sí aún no están abiertas, así que el diseñador no te ofrecerá un botón que falle después de que lo hayas elegido. Cuando se abran, llegarán como entradas en la misma tabla que todo lo anterior.
Dos cosas fijadas por prueba
Las comprobaciones que no tienen permitido retroceder
- Ningún secreto se vuelve a mostrar. Una prueba introduce una marca en cada campo de cada proveedor y luego busca esa marca en la página renderizada.
- Una respuesta de inicio de sesión solo se cree cuando todo en ella cuadra — de dónde viene, su forma, el valor de un solo uso que debe llevar y su antigüedad — y todo eso se verifica antes de leer un solo campo. Solo hay un inicio de sesión en curso a la vez, así que uno antiguo no puede ser respondido por un mensaje posterior.
Ambos existen porque el fallo que evitan es silencioso: el primero filtraría una contraseña en una captura de pantalla, y el segundo permitiría que un enlace conecte la cuenta de otra persona a la tuya.
Conectar es solo la mitad.
Un tile puede leer lo que conectas. Con un conector, un tile también puede escribir en ello — un botón en el tablero que añade una fila a tu propia base de datos.