When I try to post a form request using window.open script, it will cause csrf token mismatch exception in Safari on Laravel 7.X. I've tested Chrome and Firefox and they're just fine. Safari also works perfectly with same code on Laravel 6.18.16.
Environments
- Laravel Version: 7.13.0
 - PHP Version: 7.2.31
 - Database Driver & Version: n/a
 - macOS: 10.15.5
 - Safari: 13.1.1
 - Chrome: 83.0.4103.61
 - Firefox: 76.0.1
 
Steps To Reproduce:
- Install a fresh laravel app
 
composer create-project --prefer-dist laravel/laravel popup7
- web.php
 
Route::get('/', function () {
    return view('welcome');
});
Route::post('/blank', function () {
    return 'blank page';
});
- welcome.blade.php
 
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Laravel</title>
        <script>
            function openPopup(target) {
                window.open("", target + "_popup", "width=430,height=640,scrollbar=yes");
                let form = document.getElementById(target);
                form.target = target + "_popup";
                form.submit();
            }
        </script>
    </head>
    <body>
    <form id="mobile" name="mobile" action="/blank" method="POST">
        @csrf
        <button onclick="openPopup('mobile');">
            open
        </button>
    </form>
    </body>
</html>
- click 'open' button

 
Additional Information
There is no proper cookie header for /blank request on Laravel 7.X
request/response header for /blank in Safari on Laravel 7.X
- request

- response
 

request/response header for /blank in Safari on Laravel 6.18.16
- request

- response
 
