Я включил iFrame на свой родительский сайт. IFrame - это приложение Laravel, которое хранит некоторые данные в сеансе, например:
Route::get('/', function() {
Session::put('sessionIsActive', true);
Session::save();
return redirect('/#/start');
});
После настройки сеанса я выполняю redirect()
для маршрута, установленного с помощью VueRouter
.
Я включил промежуточное программное обеспечение StartSession
в свой Kernel.php
protected $middleware = [
\Illuminate\Session\Middleware\StartSession::class,
];
Когда я открываю приложение (дочерний сайт) напрямую, сессия сохраняется соответственно. Но как только я пытаюсь загрузить его как iFrame, переменные Session не сохраняются.
Важное примечание : в Chrome и Firefox (на рабочем столе) все работает нормально, и сеанс работаетсохранены. Но проблема возникает с Safari (для настольных ПК и мобильных устройств) и Chrome (для мобильных устройств).
Я не получаю никаких ошибок в консоли, поэтому трудно определить проблему. Но почему-то я думаю, что Cookie не может быть установлен правильно иногда / для определенных браузеров / устройств.