访问驻留在同一服务器上的Larave应用程序中另一个Laravel应用程序的会话和cookie



我有这种情况,我有 4 个使用 Laravel 6 构建的网站,它们都驻留在同一台服务器上,并且都是子域,例如

https://account.mywebsite.com

https://business.mywebsite.com

https://realestate.mywebsite.com

https://deals.mywebsite.com

问题出在 https://account.mywebsite.com,如果我已经在那里进行身份验证,那么其余的Laravel网站也必须进行身份验证,因此只需一个登录机制。我现在在想的是,如果我可以从帐户网站(https://account.mywebsite.com(或从帐户子域设置自定义身份验证cookie/会话访问身份验证会话或cookie,那么其余的Laravel网站可以访问该身份验证cookie/会话,那么我可以对Laravel网站的其余部分进行身份验证。我相信,每个Laravel都存储了独特的会话和cookie。

Session::put('key', 'value');
Cookie::get('name');

所以任何想法,关于如何从也在同一服务器上的其他Laravel应用程序访问cookie或会话的帮助?

最简单的方法是将 cookie 的域更改为根域(不带子域(。这样,所有子域都可以访问它们。

.env文件中设置SESSION_DOMAIN设置:

SESSION_DOMAIN=mywebsite.com

注意:Laravel使用会话cookie名称的APP_NAME,因此如果您的Laravel安装具有不同的APP_NAME,它们将不会共享同一会话。如果您希望他们共享同一会话,您可以手动设置SESSION_COOKIE

相关内容

最新更新