Node.js聊天-用户认证

| 我最近设置了一个nodejs聊天服务器,该聊天客户端由php服务器提供服务。当用户登录时,他们的会话将存储在php服务器的mysql中,并且登录cookie将附加到浏览器。 我想限制只有登录用户才能聊天的用户。归档的最佳实践是什么? 我的想法很快: 加载聊天客户端后,如果用户登录,我将通过套接字将登录cookie信息发送到nodejs verver。然后创建一个nodejs会话。当用户聊天时,消息和cookie信息将通过套接字发送到nodejs服务器。如果cookie信息与nodejs会话不匹配,则将不广播该消息,并且将断开客户端套接字。     
已邀请:
Websocket是永久的开放连接。当您连接到Websocket时,您只需进行一次身份验证。 只需将您的登录cookie发送到node.js一次,并通过引用套接字连接将其存储在服务器上。然后,仅处理来自经过身份验证的用户的消息,并且仅广播给经过身份验证的用户。 问题在于客户端用户可以轻松地伪造此cookie,因为节点不与php对话以确保它是有效的登录cookie。 现在使用的示例。 警告伪代码
// server.js
everyone.now.joinChat = function(cookie) {
    chat.add(this, cookie);
}

everyone.now.serverMessage = function(message) {
    if (chat.hasUser(this)) {
        chat.broadcast(message);
    }
}

chat = (function() {
    var users = [];

    return {
         \"add\": function(client) {
             users.push(client);
         },
         \"hasUser\": function(client) {
             return users.some(function(user) {
                 return user === client;
             });
         },
         \"broadcast\": function(message) {
              users.each(function(user) {
                  user.clientMessage(message);
              });
         }
    }
}());

// client.js
$(function() {
    now.joinChat($.cookie(\"login\"));

    $(\"#send\").click(function() {
         now.serverMessage($(this).data(\"message\"));
    });

    now.clientMessage = function(message) {
         $(\"#messages\").append($(\"<span></span>\").text(message));
    }

});
    
这是我在寻找nodeJS的答案-如何使用express创建和读取会话     

要回复问题请先登录注册