php - 访问驻留在同一服务器上的 laravel 应用程序内的另一个 laravel 应用程序的会话和 cookie
问题描述
我有这种情况,我有 4 个使用 Laravel 6 构建的网站,它们都驻留在同一台服务器上,并且它们都是子域,例如
https://business.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 的域更改为根域(没有子域)。这样所有子域都可以访问它们。
在文件中SESSION_DOMAIN
设置设置.env
:
SESSION_DOMAIN=mywebsite.com
注意:Laravel 使用APP_NAME
session cookie name,所以如果你的 Laravel 安装有不同APP_NAME
的 s 他们不会共享同一个 session。如果您希望他们共享同一个会话,您可以手动设置SESSION_COOKIE
.
推荐阅读
- vb.net - 以编程方式使用 imagemagick 将图像的背景转换为透明
- awk - 如何使用 AWK 编辑特定行并按原样复制其余部分?
- javascript - JS 替换为正则表达式
- python-3.x - 将字符串列表转换为元组并在 postgres sql 中使用
- r - 在 mutate 语句中动态引用列名 - dplyr
- macos - 如何使用 ffmpeg 从 docker 容器访问内置网络摄像头?
- redis - Redis Pub/Sub 和 Redis Streams 有多相似?
- python - 如何检查熊猫系列中是否存在一组值(包括 nans)?
- c++ - 为什么我需要在成员初始化器列表中重复我的基类的模板参数?
- html - 在 Wordpress 标题菜单上添加图标