Появляются странные файлы cookie laravel sanctum

Я пишу приложение на laravel sanctum, используя breeze для аутентификации пользователя и vue3 с pinia. И вроде бы у меня работает корректно вход пользователя в систему, регистрация, выход, но вот проблема в том, что при каждом открытии страницы в режиме разработчика->приложение->файлы cookie, то там у меня появляются 2 по сути нужных мне куки laravel_session и XSRF-TOKEN, но при этом постоянно появляется какой то куки с непонятным названием, по типу такого: dHOR0NO6MzU3oACai6PsW6rJdbcJ1XatVnlcytY3. И так каждый раз. Также, при вызове какого то метода, который требует CSRF-TOKEN (по типу такого):

const getCsrfToken = async () => {
    if (!document.cookie.includes('XSRF-TOKEN')) {
      try {
        await axios.get('/sanctum/csrf-cookie');
      } catch (error) {
        console.error("Ошибка получения CSRF токена", error);
      }
    }
  };

и потом вызываем этот метод где то:

const login = async (email, password) => {
    try {
      await getCsrfToken(); // получаем CSRF токен
      await axios.post('/api/login', { email, password });
      await getUser(); // получаем информацию о пользователе
    } catch (error) {
      console.error('Ошибка авторизации', error);
      throw error;
    }
  };

и вот если так делать, то каждый раз, при вызове метода getCsrfToken у меня будет создаваться еще 2 таких непонятных куки. И так будет происходить до тех пор, пока у меня не появится ошибка 431 в браузере, а после очистки куки она исчезает. И из-за этого, как мне кажется, я не могу продолжать нормально делать приложение, так как я хотел сделать авторизацию каких-то действий пользователя по ролям, но из-за ошибки 403 (Forbidden) я это сделать не могу, и мне кажется, что тут как раз как-то да влияют эти куки непонятные.

Я вроде бы настроил все как нужно в конфигурационных файлах в laravel, но у меня все равно создаются вот эти куки.

CORS.php файл:

 'paths' => ['api/*', 'sanctum/csrf-cookie'],
    'allowed_methods' => ['*'],
    'allowed_origins' => [env('FRONTEND_URL', 'http://localhost:5173')],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['*'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,

.env файл:

FRONTEND_URL=http://localhost:5173
SESSION_COOKIE=laravel_session
SANCTUM_STATEFUL_DOMAINS=localhost:5173
SESSION_DRIVER=cookie
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=localhost

session.php файл:

'domain' => env('SESSION_DOMAIN', null),
'same_site' => env('SESSION_SAME_SITE', 'lax'),
'http_only' => env('SESSION_HTTP_ONLY', true),
'partitioned' => env('SESSION_PARTITIONED_COOKIE', false),
'cookie' => env(
        'SESSION_COOKIE',
        Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
    ),
'table' => env('SESSION_TABLE', 'sessions'),
'driver' => env('SESSION_DRIVER', 'cookie'),

sanctum.php файл:

'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost:5173')),
    'guard' => ['web'],
    'expiration' => null,
    'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''),
    'middleware' => [
        'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class,
        'encrypt_cookies' => Illuminate\Cookie\Middleware\EncryptCookies::class,
        'validate_csrf_token' => Illuminate\Foundation\Http\Middleware\ValidateCsrfToken::class,
    ],

Вообщем что я только не менял, то все бестолку.

Также у меня следующий код есть на frontend в pinia:

axios.defaults.baseURL = 'http://localhost:8000';
axios.defaults.withCredentials = true;
axios.defaults.withXSRFToken = true;

Ну и вообщем так, у меня метод getCsrfToken вызывается в методах: login, register, logout, а так же в методе, который требует, чтобы пользователь был авторизован под определнной ролью, чтобы добавлять новые данные в БД. И при вызове каждого метода у меня создается 2 новых куки, которых по сути быть не должно. Я новичек в backend, так что не судите строго. Надеюсь на помощь


Ответы (0 шт):