419 - сеанс истек без аутентификации события после развертывания | Laravel 5,7 - PullRequest
0 голосов
/ 20 апреля 2020

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

419

Извините, ваш сеанс истек. Пожалуйста, обновите sh и попробуйте снова.

Мой заголовок содержит <meta name="csrf-token" content="XXX">

Моя форма входа содержит <input type="hidden" name="_token" value="XXX">

Что я до сих пор пробовал:

  • Пробовал генерировать новый ключ php artisan key:generate
  • Пробовал очистить все кэши
  • php artisan cache:clear
  • php artisan route:clear
  • php artisan view:clear
  • php artisan cache:clear
  • Проверено php .ini max_execution_time и ограничения памяти.
  • Пробное изменение SESSION_DRIVER с file to database

Единственное, что работало, но было небезопасно и предназначалось для отладки

В VerifyCsrfToken , я добавил «api / login» и «api / register» в protected $except, и форма сработала. Вот так


namespace FleetCart\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

class VerifyCsrfToken extends BaseVerifier
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        "api/login",
        "api/register"
    ];
}

Пожалуйста, помогите мне понять, как решить эту проблему.

Заранее спасибо.

1 Ответ

0 голосов
/ 21 апреля 2020

Наконец, потратив 3 дня, я нашел решение.

@ Снейп помог мне решить эту проблему.

Вы можете увидеть ответ здесь: https://laracasts.com/discuss/channels/laravel/419-session-expired-without-event-authentication-after-deployment-laravel-57

В моем случае до начала тега <?php был дополнительный пробел.

...