Ứng dụng chính của tôi là một ứng dụng Django, tuy nhiên, đối với một số công cụ thời gian thực, tôi muốn sử dụng Node/Socket.IO. Tôi đang sử dụng Redis để làm một số quán rượu/phụ từ Django để Node (và sau đó vào các khách hàng khác nhau). Phần khó khăn là làm thế nào để tôi xác thực người dùng Node chống lại auth Django?Làm cách nào để xác thực người dùng trong ứng dụng Nút bằng xác thực Django?
Trong ứng dụng Node tôi, tôi có:
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));
});
});
Vì vậy, câu hỏi của tôi là một chiến lược tốt để thực hiện authenticateAndGetUserId
là gì? Các phiên được hỗ trợ trong MySQL, vì vậy tôi có thể đi qua đó. Chỉ cần tò mò nếu có một cách tốt hơn để đi về nó.
Điều này. Tôi tạo một trường 'api key' trong mô hình hồ sơ người dùng Django của tôi, với khóa được tạo ngẫu nhiên. Sau đó bạn có thể có một điểm cuối HTTP/API đơn giản lấy khóa đó và xác định xem nó có thuộc về một người dùng hợp lệ hay không. – maroonmed
Điều đó có làm cho việc chặn node.js không? Việc sử dụng node.js trong trường hợp này là gì? –
Tôi không hiểu tại sao điều đó sẽ khiến Node.js chặn – deltanovember