我的主應用程序是一個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