首页 > 解决方案 > Laravel 5.5 会话和 CSRF 令牌在每次页面刷新、ajax 请求或打开另一个页面时过期

问题描述

我正在使用 Laravel 5.5。由于这个问题,我无法登录。即使我使用Auth::loginUsingId(1);我也无法登录。当我刷新页面时,我没有登录。

当我启用 CSRF 登录时,我得到:

由于不活动,该页面已过期。

当我将日志 URL 添加到异常时

Auth::attempt return true

然后我的代码必须将我重定向到我的个人页面,但我被重定向到登录页面,因为我的个人页面仅适用于授权用户。

我在这个网站上尝试了所有关于这个问题的方法,但没有解决问题

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:EbBctSTYXlY8SYiUGXrHLop633hDLvn4DLhH35Gdp2o=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=mysiteurl_with_https
SESSION_DOMAIN=site.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mydb
DB_USERNAME=db_user
DB_PASSWORD=1111111111

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=database
SESSION_LIFETIME=1200
QUEUE_DRIVER=sync

MAIL_DRIVER=sendmail

我的配置/session.php



    'driver' => env('SESSION_DRIVER', 'file'),
    'lifetime' => env('SESSION_LIFETIME', 120),
    'expire_on_close' => false,
    'encrypt' => false,
    'files' => storage_path('framework/sessions'),
    'connection' => null,
    'table' => 'sessions',
    'store' => null,
    'lottery' => [2, 100],
    'cookie' => env(
        'SESSION_COOKIE',
        str_slug(env('APP_NAME', 'laravel'), '_').'_session'
    ),
    'path' => '/',
    'domain' => env('SESSION_DOMAIN', null),
    'secure' => env('SESSION_SECURE_COOKIE', false),
    'http_only' => true,
    'same_site' => null,



今天更新 我尝试在同一台服务器上新安装 laravel 5.5,我得到了同样的错误 - 每个重新加载页面上的表单中的令牌都发生了变化 - 会话也是如此

标签: laravelsessiontokencsrf-token

解决方案


推荐阅读