没有cookie的Node.JS会话
我一直在尝试,但我发现iOS 5默认不接受cookie。 即使使用Redis,我一直在尝试很多不同的事情,但仍然无法获得一个会话持续多个请求。
如果不使用cookies,我还有其他会话选项吗? 我正在使用Redis滚动一个粗略的会话模块,在那里我只是发送自己的“会话ID”,但似乎可以很容易地刹车。
如果你不能让客户端支持cookies,也许你可以把一些数据放到LocalStorage中,然后把它们传递给服务器来连接会话,并像一个单页面的应用程序一样构造它。
它看起来像这样:
server | client send initial payload, with token --> store token in LocalStorage initial payload contains some script <-- XHR request for /data?sessid=XXXXX look up session, do stuff --> handle result, update DOM, do more XHR
是否支持networking套接字? 您可以使用Socket.io来执行传输,这将会减less很多延迟。
我几乎可以肯定你会想要使用cookies。 另一种方法是通过一个url参数为每个请求添加一个会话id,然后利用某种中间件确保将其添加到每个URL中。 您可以通过parsing您的响应或劫持您的模板引擎来将其包含在每个链接和表单中。 我觉得这真的很奇怪,iOS没有cookie。 我几乎可以肯定,这是不正确的,你可以请你链接在哪里阅读?
- 连接+ SessionSocket.io +护照:无法通过密钥查找会话
- node.js传递身份validation状态
- Express-session和express-socket.io-session在angular2 / typecript环境中不起作用
- 使用express 4和socket.io在node.js中进行会话
- 在node.js中,如何使用socket.io设置redis并进行expression? 特别使用RedisStore()
- 在express.js中查看当前所有活动的会话
- TypeError:无法在Object.handle中读取未定义属性'csrfSecret' – 使用Node.js
- Socket.IO,导航器选项卡的问题
- 使用Redis存储的快速会话无法创build会话