我的主应用程序是一个Django应用程序,但是,对于某些实时的东西,我想使用Node/Socket.IO。我使用Redis做一些从Django到Node的pub/sub(然后到各种客户端)。棘手的部分是我如何根据Django身份验证来验证Node用户?如何使用Django身份验证在Node应用程序中对用户进行身份验证?
在我的节点的应用程序,我有:
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));
});
});
所以我的问题是什么是实现authenticateAndGetUserId
一个好的策略?会话由MySQL支持,所以我可以在那里通过。只是好奇,如果有更好的方法去做。
这个。我在我的Django用户配置文件模型中创建了一个'api key'字段,密钥是随机生成的。然后,您可以拥有一个简单的HTTP端点/ API,它接受该密钥并确定它是否属于有效用户。 – maroonmed
这不会使node.js阻塞吗?在这种情况下,node.js有什么用呢? –
我不明白为什么会让Node.js阻止 – deltanovember