iFrame无法在Chrome和Safari中保存与Laravel的会话

时间:2019-02-19 10:51:07

标签: php laravel session iframe

我正在通过iFrame加载Laravel应用程序。该会话以Laravel的StartSession中间件(放置在app/Http/Kernel.php中)开始:

protected $middleware = [
    ...
    \Illuminate\Session\Middleware\StartSession::class,
];

在应用程序中,我像这样保存会话变量:

Session::put('mode', true);
Session::save();

如果我直接访问我的应用程序,也可以在我嵌入了iFrame的网站上(但仅在 Firefox 中)访问它们,它们将被保存。

Chrome和Safari 中,会话未保存。

也许缺少导致该问题的标题?

1 个答案:

答案 0 :(得分:2)

在使用shopify应用程序时,我遇到了同样的问题。 因此解决方案是:

  • 在配置文件/会话文件中-选项“ same_site”应为“ none”
  • 在配置文件/会话文件中-选项“安全”应为“真”

此解决方案的一部分来自此处-Here