Laravel PWA - Сессия истекла - PullRequest
0 голосов
/ 08 ноября 2018

Итак, я создал веб-приложение на новейшем Laravel 5.7, и оно работало очень хорошо,

, пока я не попытался преобразовать его в PWA (прогрессивное веб-приложение).

Я сделал это с sw-precache-webpack-plugin
Вот реализация:

mix.webpackConfig({
 plugins: [
    new SWPrecacheWebpackPlugin({
      filename: 'service-worker.js',      
      cacheId: 'pwa',
      staticFileGlobs: ['public/**/*.{css,eot,svg,ttf,woff,woff2,js,html,png,jpg}'],
      minify: true,
      stripPrefix: 'public/',
      handleFetch: true,
      ignoreUrlParametersMatching: [/login/,/register/,/^utm_/],
      dynamicUrlToDependencies: {
        '/login':            ['resources/views/auth/login.blade.php'],
        '/register':         ['resources/views/auth/register.blade.php'],
        '/password/reset':   ['resources/views/auth/passwords/email.blade.php'],        
        '/':                 ['resources/views/index.blade.php'],
        '/dream-journal':    ['resources/views/dream-journal.blade.php'],
        '/techniques':       ['resources/views/techniques.blade.php'],
        '/community':        ['resources/views/community.blade.php'],
        '/profile':          ['resources/views/profile.blade.php'],        
        '/settings':         ['resources/views/settings.blade.php']
      },
      staticFileGlobsIgnorePatterns: [/\.map$/, /mix-manifest\.json$/, /manifest\.json$/, /service-worker\.js$/],
      navigateFallback: '/',
      runtimeCaching: [
        {
          urlPattern: /^https:\/\/fonts\.googleapis\.com\//,
          handler: 'cacheFirst'
        },
        {
          urlPattern: /^https:\/\/www\.thecocktaildb\.com\/images\/media\/drink\/(\w+)\.jpg/,
          handler: 'cacheFirst'
        }
      ],
      // importScripts: ['./js/push_message.js']
    })
  ]
});

Я также добавил полный файл manifest.json, поэтому для маршрутов '/', '/ login' и '/ register' (для них не требуется проверка подлинности) - Service Worker фактически зарегистрирован и правильно кэшируется.

К этому моменту все было идеально.
Проблема в том, что теперь, когда я захожу в форму / логин или / зарегистрируюсь и отправляю ее, Laravel выдает

419 Sorry, your session has expired. Please refresh and try again.

Пожалуйста, помогите мне, я пытаюсь решить это в течение нескольких дней ...

...