【问题标题】:ExpressJS, MongoDB + Socket.IO - Identify Individual User SessionExpressJS、MongoDB + Socket.IO - 识别个人用户会话
【发布时间】:2016-06-06 12:32:04
【问题描述】:

我正在使用https://github.com/sahat/hackathon-starter/tree/es6。我添加了 Socket.IO 但无法找到安全获取当前登录用户信息的方法。我有一个按钮,按下时我想发送到服务器(用户名、余额和金额,以便我可以安全地更新他们的模式模型......到目前为止,我可以使用 Jade 做到这一点,但我确信这真的很糟糕.

玉:

.content-r-inner.child
    .col-md-12.col-xs-12.col-lg-12.no-pad-home
    if !user
      include partials/flash
      include partials/visitorbar
    else 
      include partials/userbar
    |           
    #time.timecontainer.pulsing.pulsingbox
    |           
    .product Product: 
    |  
    input#amount(type='text')
    |           
    #slider-range-max
    |           
    #minus1.minus.unselectable -
    |           
    #plus1.plus.unselectable +
    // </div>
    .sendAmount(onclick="GetAmount()")


// inside include partials/userbar I have GetAmount Function
function GetAmount(){
socket.emit('getAmount', {
"username": "#{user.username}",
"maxBalance": "#{user.balance}",
"getAmount": document.getElementById('amount').value 
});
}

{user.username} 你可以在标签中看到...

function GetAmount(){
  socket.emit('getAmount', {
  "username": "JohnDoe",
  "maxBalance": "3750",
  "getAmount": document.getElementById('amount').value 
  });
}

我确信有更好更安全的方法来识别哪个用户按下了按钮...希望有人能解释我可以使用 Socket.IO 实现它的最佳方法,刚开始使用它,我发现它是在很多方面都比 Ajax 好很多,但目前对它的方法甚至 Mongo 缺乏基本的了解:))

感谢您的帮助!赞一个!!!

【问题讨论】:

    标签: node.js mongodb sockets socket.io pug


    【解决方案1】:

    看看socketio-jwt (https://github.com/auth0/socketio-jwt) 我想这就是你想要的。基本上你需要对活跃用户进行身份验证。

    【讨论】:

    • 看起来很有趣,会仔细看看。似乎在 socket.io 之上接近基于令牌的身份验证可能比黄金旧 cookie 更好:D。感谢分享@akazemis !!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 2014-06-03
    • 2015-06-18
    • 2012-07-01
    • 2017-12-03
    • 1970-01-01
    • 2020-08-03
    相关资源
    最近更新 更多