Mi aplicación principal es una aplicación de Django, sin embargo, para algunas cosas en tiempo real, quiero usar Node/Socket.IO. Estoy usando Redis para hacer algún pub/sub de Django a Node (y luego a varios clientes). La parte difícil es cómo autenticar al usuario del nodo frente a la autenticación de Django.¿Cómo autentico a un usuario en una aplicación de nodo con autenticación de Django?
En mi aplicación de nodo, que tengo:
io.on('connection', function (socket) {
const subscribe = redis.createClient();
var userId = authenticateAndGetUserId();
subscribe.subscribe(userId + ':feed-items');
subscribe.on('message', function (channel, message) {
socket.emit('feed-items', JSON.parse(message));
});
});
Así que mi pregunta es ¿qué es una buena estrategia para la implementación de authenticateAndGetUserId
? Las sesiones están respaldadas en MySQL, así que puedo ir allí. Sólo curiosidad si hay una mejor manera de hacerlo.
Esto. Creo un campo 'clave de API' en mi modelo de perfil de usuario Django, con la clave generada aleatoriamente. A continuación, puede tener un punto final/API HTTP simple que tome esa clave y determine si pertenece o no a un usuario válido. – maroonmed
¿No haría eso que node.js bloqueara? ¿Cuál es el uso de node.js en tal caso, entonces? –
No veo por qué eso haría que Node.js bloqueara – deltanovember