如何使用Socket.io和Express处理会话
How to handle sessions with Socket.io and Express?
我有一个正在运行的应用程序。用户要求在登录后,稍后返回时将保持登录状态。
我知道我需要以某种方式在客户端存储会话数据,例如cookie。我试过这个https://stackoverflow.com/a/25618636/2440515但它不起作用。这都不是https://www.npmjs.com/package/socket.io-handshake
我有Express和Socket.io的最新版本。
我的应用程序使用Socket.io进行身份验证,因此我需要一种从Socket.i0回调更新cookie的方法。在过去的4小时里,我一直在寻找并尝试不同的解决方案。有人能给我一个提示吗?
谢谢!
您可以使用cookie模块来解析传递的cookie:
$ npm install cookie
打开代码:
//...
var cookie = require('cookie');
//...
io.use(function (socket, next) {
var cookies = cookie.parse(socket.request.headers.cookie);
var my_secret = cookies.my_secret || null;
if (!my_secret) {
return next(new Error('No cookie set'));
}
validateMySecretAsync(my_secret, next);
});
// ....
相关文章:
- Nodejs和express路由,如何处理客户端的承诺
- node.js和express中的异常处理
- 使用Node/Express随机查询Postgresql表并处理行数据
- 如何在node+express中重新运行请求处理程序
- 将路由处理程序委托给NodeJS+Express中的其他模块
- node.js express处理其他.get尝试
- 使用node.js和express来处理POST请求
- 使用异步模块的Express + Mongoose请求处理程序的更简洁的方法
- es6和谐箭头函数在express处理程序中
- 如何使用Socket.io和Express处理会话
- 如何使用promise正确处理express.js中的错误(字符串或对象)
- node.js-express.js API删除http后处理程序
- 处理express/node中模板的数据
- express 4.0主体解析器对路由处理程序不可见
- 如何在Express中处理GET参数
- 处理 Node.js 和 Express 中的 404、500 和异常
- 如何使 node js Express 服务器并行处理请求
- 节点 JS Express 模块是否异步处理请求
- 使用 Express 4 在 Node.js 中全局处理异常的最佳方法
- 如何将多个请求处理函数与 Node.js Express 一起使用