Laravel sunctum + nuxt 3, не могу установить куку с XSRF?

Для установки куки XSRF в Laravel Sanctum и Nuxt.js вам потребуется выполнить несколько шагов. Вот пошаговая инструкция:

Шаг 1: Установка Laravel Sanctum
Сначала убедитесь, что вы правильно установили Laravel Sanctum в вашем Laravel проекте. Вы можете установить его, выполнив следующую команду в командной строке:

composer require laravel/sanctum

Затем выполните миграцию, чтобы добавить таблицу для хранения токенов Sanctum:

php artisan migrate

Шаг 2: Конфигурация Laravel Sanctum
Откройте файл config/sanctum.php и установите значение stateful в true. Это гарантирует, что Sanctum будет устанавливать куки в ответ на успешную аутентификацию.

'stateful' => true,

Также удостоверьтесь, что ваше приложение находится в списке доменов разрешенных (_allowed domains_). Определите список разрешенных доменов, добавив их в свойство domain в этом же файле:

'domain' => [
    'http://localhost:3000', // Замените на свой домен Nuxt.js
    'http://example.com' // Добавьте свои домены
],

Шаг 3: Подключение к API
Теперь перейдите к вашему проекту Nuxt.js. Установите зависимости, выполнив следующую команду в командной строке:

npm install @nuxtjs/axios @nuxtjs/auth-next

Затем добавьте эти пакеты в ваш файл nuxt.config.js:

modules: [
    '@nuxtjs/axios',
    '@nuxtjs/auth-next'
],

Шаг 4: Конфигурация Nuxt.js
Откройте файл nuxt.config.js и настройте модули axios и auth-next следующим образом:

// nuxt.config.js
export default {
    // ...

    axios: {
        baseURL: 'http://localhost:8000' // Замените на URL вашего Laravel проекта
    },

    auth: {
        strategies: {
            'laravelSanctum': {
                provider: 'laravel/sanctum',
                url: 'http://localhost:8000', // Замените на URL вашего Laravel проекта
                cookie: {
                    prefix: 'name_of_your_cookie',
                    options: {
                        secure: process.env.NODE_ENV === 'production' // Дополнительные параметры cookie
                    }
                }
            },
        },
        redirect: {
            login: '/login',
            logout: '/',
            home: '/dashboard',
        }
    },

    // ...
}

Шаг 5: Работа с аутентификацией
Теперь вы можете использовать методы аутентификации в вашем Nuxt.js проекте. Например, для входа пользователя вы можете использовать следующий код:

// login.vue
export default {
    data() {
        return {
            form: {
                email: '',
                password: ''
            }
        }
    },
    methods: {
        async login() {
            await this.$auth.loginWith('laravelSanctum', {
                data: {
                    email: this.form.email,
                    password: this.form.password
                }
            })
        }
    }
}

Это была подробная инструкция по установке и использованию куки XSRF с Laravel Sanctum и Nuxt.js. Убедитесь, что вы правильно настроили каждый шаг, и проверьте документацию Laravel Sanctum и Nuxt.js для дополнительной информации.