Сессия Laravel не сохраняется с помощью iFrame - PullRequest
0 голосов
/ 03 октября 2019

Я включил 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 не может быть установлен правильно иногда / для определенных браузеров / устройств.

1 Ответ

0 голосов
/ 03 октября 2019

Я согласен с вашей идеей. Но вы можете проверить куки на вкладке приложения из инструментов разработки. Для этого необходимо установить Chrome-бета.

Ссылка на Chrome-бета: https://play.google.com/store/apps/details?id=com.chrome.beta&hl=en

...