Tôi đang làm việc trên một trò chơi nhiều người chơi nhỏ. Tôi muốn giới thiệu xác thực. Tôi đang sử dụng Node.js và Socket.io.xác thực socket.io sau khi thiết lập socket
Khi người dùng đến trang chính - tôi muốn họ tham gia trò chơi cho dù họ có đăng nhập hay không - nhưng họ sẽ không thể làm bất cứ điều gì trong đó (chỉ xem).
Làm cách nào để tôi có thể xác thực người dùng trên ổ cắm đã mở?
Tôi có thể duy trì xác thực nếu họ rời khỏi trang web và quay lại không? Bạn có thể chuyển cookie qua ổ cắm web không?
EDIT
Tiếp tục câu hỏi của tôi. Một trong những suy nghĩ có thể tôi có là cung cấp kết nối websocket, sau đó khi họ cố gắng đăng nhập, nó sẽ chuyển tên người dùng và mật khẩu dưới dạng tin nhắn tới websocket.
client.on('onLogin', loginfunction);
tôi sau đó có thể kéo dài tên người dùng và mật khẩu, kiểm tra đối với cơ sở dữ liệu, sau đó lấy ID phiên họp của ổ cắm và vượt qua nó ở đâu đó nói rằng phiên được xác thực để người dùng đó.
Tính năng này có an toàn không? Tôi vẫn có thể triển khai cookie trên ổ cắm để họ có thể quay lại không? Có cách nào trong socket.io nói rằng ổ cắm bây giờ được xác thực thay vì kiểm tra thủ công trên mỗi tin nhắn nhận được?
Cheers
Có cách nào có thể thiết lập các kết nối như chứng thực trong vòng socket.io sau khi kết nối đã được thiết lập và bắt tay hoàn chỉnh? Người dùng có thể cung cấp chi tiết đăng nhập khi sẵn sàng kết nối hiện có, máy chủ có thể xác thực và trả lại một ID phiên duy nhất. JavaScript phía máy khách sau đó có thể lưu cookie để sử dụng trong tương lai. –
Xem [bài viết này] (http://www.danielbaulig.de/socket-ioexpress/) về cách xác thực phiên socket.io. – fent
Có, tôi đã thực sự đọc bài viết đó rồi. Trong khi tôi khá hạnh phúc khi thiết lập một cookie, nó không cho phép đăng nhập trên cùng một trang nếu socket đã được mở. Nó cũng bị coi là có nếu người dùng có cookie bị vô hiệu hóa? –