【发布时间】:2015-04-30 21:11:21
【问题描述】:
我有一个应用程序正在运行。用户要求在他们登录后他们会在以后回来时保持登录状态。
我知道我需要以某种方式在客户端存储会话数据,例如 cookie。我试过这个https://stackoverflow.com/a/25618636/2440515,但它不起作用。这https://www.npmjs.com/package/socket.io-handshake
我有最新版本的 Express 和 Socket.io。
我的应用程序使用 Socket.io 进行身份验证,因此我需要一种从 Socket.io 回调更新 cookie 的方法。我花了最后 4 小时搜索和尝试不同的解决方案。有人可以给我一个提示吗?
谢谢!
【问题讨论】:
-
您能否详细介绍一下您的应用程序的架构? Express 和 Socket.io 的作用是什么?无论如何,你有没有想过用 JWT 来做呢?您可以使用 HTML Web Storage 将令牌保存在浏览器中,将其附加到后续的 Express 请求中,然后使用中间件对其进行验证。
-
好的,我最终编写了加密的 cookie 客户端,然后解码和读取会话数据服务器端。
-
很高兴你解决了它。无论如何,您都应该检查一下,因为 jwt 正在成为 node.js 身份验证的规范:sitepoint.com/using-json-web-tokens-node-js
标签: javascript node.js express socket.io