最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Laravel与Socket.io Nodejs共享会话

运维笔记admin12浏览0评论

Laravel与Socket.io Nodejs共享会话

Laravel与Socket.io Nodejs共享会话

我的问题很简单。如何与socket.io nodejs app安全地共享laravel会话信息。我尝试了很多不同的方法,但没有一种方法可行,所以我希望专家能够完成。我已经知道我不想使用JWT令牌。所以我想这只是留下会话cookie数据本身。我无法弄清楚如何使用cookie验证socket.io,这就是我需要帮助的地方。我正在使用redis存储会话,并使用带laravel的默认身份验证系统。

我尝试过使用这个非常适合解析会话的库。但它没有使用我的socket.io服务器进行身份验证。

如果有人知道如何解决这个问题,我将非常感谢一些帮助。

回答如下:

我想,你在socket.io里面有身份验证问题,想法是你不能轻易地从应用程序到应用程序共享会话,为什么呢?因为这个数据是在客户端的浏览器(cookie)和服务器(会话)之间处理的,如果你想连接Laravel和Socket.io,首先你必须做出某种流程:

  1. 当用户在网站上进行身份验证时,也要为socket.io设置cookie(如果主机不同)。
  2. 在后台,您必须通过数据库(memcached,redis等)和cookie共享会话数据。如您所知,如果您设置laravel会话参数以使用数据库,而不是使用文件,laravel将自动开始将会话数据保存到DB中,因此可以轻松地从数据库中读取会话参数。

我认为你正在使用node-laravel-session错误,我的意思是如果你在其他服务器上有node.js应用程序而你使用getSessionFromFile,它将无法正常工作。确保你正确使用它,它会工作。制作这样的东西很简单,但是当你有跨项目会话时,问题主要是安全性。

发布评论

评论列表(0)

  1. 暂无评论