laravel共享会话与socket.io nodejs



我的问题很简单。如何与我的socket.io nodejs应用程序安全共享Laravel会话信息。我尝试了许多不同的方法,它们都没有起作用,所以我希望专家能够通过。我已经知道我不想使用JWT令牌。因此,我想这只会离开会话cookie数据本身。我无法弄清楚如何用cookie对socket.io进行身份验证,所以这就是我需要的帮助。我正在使用redis存储会话,并使用laravel使用默认身份验证系统。

我尝试使用此库,这非常适合解析会话。但是它没有使用我的socket.io服务器进行身份验证。https://www.npmjs.com/package/node-laravel-session

如果有人知道如何解决此问题,我将非常感谢您的帮助。

我想,您在socket.io内有身份验证问题的问题,想法是您无法轻松地共享从应用程序到应用程序的会话,为什么?因为此数据是在客户端的浏览器(cookie)和服务器(session)之间处理的,因此,如果要连接laravel和socket.io,首先必须进行某种流程,例如:

  1. 用户在网站上进行身份验证时,将cookie设置为socket.io为好(如果主机不同)。
  2. 在背景中,您必须共享会话数据槽数据库(Memcached,redis等),并与Cookie共享。如您所知,如果将Laravel Session参数设置为使用数据库,而不是使用文件,Laravel将自动开始将会话数据保存到DB中,因此很容易从数据库中读取会话参数。

我认为您正在使用 node-laravel-session 错误,我的意思是,如果您在其他服务器上有node.js应用程序,并且您使用 getsession fromfile ,它将不会工作。确保您正确使用它并且可以正常使用。这样的过程本身很容易,但是主要问题是当您进行交叉项目时的安全性。

最新更新