Búsqueda de sitios web

javascript - ¿Cómo crear lógica de aplicación del lado del servidor en Racer/DerbyJS?


Estoy aprendiendo los entresijos del nuevo stack de DerbyJS, y no puedo encontrar una manera de poner la lógica de la aplicación en el lado del servidor. La intención declarada es que todo el código pueda ejecutarse tanto en el servidor como en el cliente. Sin embargo, necesito que ciertos datos se mantengan ocultos y solo se envíen al cliente si la autenticación basada en la información de la sesión del usuario es correcta. ¿Cómo puedo lograr esto usando un store de Racer?

Respuesta #1

Puedes colocar la lógica de la aplicación del lado del servidor en el directorio app/server. En el servidor, las aplicaciones de Derby exponen un middleware de Express, por lo que puedes encadenar otros middleware antes de este. Por ejemplo, podrías tener un middleware de autenticación que impida que se rendericen ciertas rutas si el usuario no ha iniciado sesión.

Sin embargo, esta no es una solución suficiente para la autenticación, porque las actualizaciones de datos llegan como mensajes a través de Socket.IO, y no pasarán por el middleware de Express por el que pasan las solicitudes iniciales de la página.

Vamos a añadir una solución simple que haga posible autenticar a los usuarios y luego autorizarlos según la ruta cada vez que se suscriban o modifiquen datos, pero esto aún no se ha implementado. Esto está en lo alto de la lista de cosas que necesitan hacerse, y Derby todavía está en desarrollo rápido.