我正在開發一款小型多人遊戲。我想介紹身份驗證。我使用Node.js和Socket.io。套接字建立後的socket.io身份驗證
當用戶到達主頁面 - 我希望他們加入遊戲時,無論他們是否登錄 - 但他們將無法做任何事情(只有看)。
我怎麼才能在已經打開的套接字上認證用戶呢?
如果他們離開該網站並返回,我可以保持身份驗證嗎?你可以通過網絡套接字傳遞cookie嗎?
編輯
繼續我的問題。我有一個可能的想法是提供websocket連接,然後當他們嘗試登錄時,它將用戶名和密碼作爲消息傳遞給websocket。
client.on('onLogin', loginfunction);
然後我可以採取用戶名和密碼,檢查對數據庫,然後採取插座的會話ID,並通過它的地方說會話身份驗證的用戶。
這種產品是否安全?我還可以在套接字上實現一個cookie,以便它們可以回來嗎? socket.io中有沒有什麼辦法說明套接字現在已經通過身份驗證,而不是手動檢查接收到的每條消息?
乾杯
有沒有辦法或許是設置連接爲socket.io內認證的連接已經建立後握手完成的?用戶可以在準備好現有連接時提供登錄詳細信息,服務器可以驗證並返回唯一的會話ID。然後,客戶端JavaScript可以保存一個cookie以供將來使用。 – 2012-01-06 10:49:31
查看[本文](http://www.danielbaulig.de/socket-ioexpress/)瞭解如何驗證socket.io會話。 – fent 2012-01-06 10:15:16
是的,我已經看過那篇文章了。雖然我很高興設置cookie,但如果套接字已打開,則不允許在同一頁面上登錄。據推測,如果用戶禁用了Cookie,它也會受到影響嗎? – 2012-01-06 10:33:56