如何使用两个子域实现单点登录?
我已经在本地计算机上使用Apache创建了虚拟主机,因此我有两个Laravel项目:app1.domain.com和app2.domain.com
我希望当我登录子域时,应该使用相同的会话记录其他子域
我尝试配置.env文件和config / session.php:
.ENV
APP_KEY=base64:qs1+/YjtqEPjS3HUYC/PaDDQk51gWY0H4iw6eAG0RF8=
APP_URL=http://app1.domain.com/
SESSION_DOMAIN=.domain.com
配置/ session.php文件
'driver' => env('SESSION_DRIVER', 'file'),
'domain' => env('SESSION_DOMAIN', '.domain.com'),
.ENV
APP_KEY=base64:qs1+/YjtqEPjS3HUYC/PaDDQk51gWY0H4iw6eAG0RF8=
APP_URL=http://app2.domain.com/
SESSION_DOMAIN=.domain.com
配置/ session.php文件
'driver' => env('SESSION_DRIVER', 'file'),
'domain' => env('SESSION_DOMAIN', '.domain.com'),
这不起作用,当一个子域被记录而另一个子域未登录时,如果有Laravel 5.4的任何软件包,如何使用Laravel实现SSO?
答案 0 :(得分:0)
您是否尝试将“会话文件位置”指向同一目录(在config / session.php中)?
您可能需要在其中一个配置文件中对目录进行硬编码。
app1 :config / session.php
'files' => storage_path().'/framework/sessions',
app2 :config / session.php
'files' => /path/to/app1/storage/framework/sessions',
另一种选择可能是使用数据库驱动程序并指向同一个表。