【问题标题】:access sessions and cookies of another laravel app inside the larave app that resides on same server [duplicate]访问驻留在同一服务器上的larave应用程序中另一个laravel应用程序的会话和cookie [重复]
【发布时间】:2020-01-31 14:35:33
【问题描述】:

我有这种情况,我有 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 /session 然后我可以验证其余的 Laravel 网站。我相信,每个 Laravel 都存储独特的会话和 cookie。

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

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

【问题讨论】:

标签: php laravel session-cookies laravel-6


【解决方案1】:

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

在您的.env 文件中设置the SESSION_DOMAIN setting

SESSION_DOMAIN=mywebsite.com

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多