Какой SESSION_DOMAIN я должен использовать, если я использую Laravel Sail?

#laravel #nuxt.js #laravel-sail

#laravel #nuxt.js #laravel-sail

Вопрос:

Я хочу использовать Nuxt.js для моего интерфейса и laravel sanctum в качестве моего поставщика серверной аутентификации. Как я должен установить SESSION_DOMAIN ключ в файле .env в моем проекте laravel.

Также я должен отредактировать что-нибудь в части объекта сервера в nuxt.config.js файле, чтобы это работало?

Ответ №1:

Когда вы используете Sanctum с SPA, например, Nuxt, у вас есть возможность использовать либо API, либо файлы cookie / сеансы. Если ваше приложение является приложением первого производителя в том же домене верхнего уровня, Laravel рекомендует использовать подход, основанный на файлах cookie, чтобы вы могли воспользоваться защитой CSRF. Библиотеки Axios и Angular Http обрабатывают CSRF из коробки, поэтому вам не нужно слишком беспокоиться об обработке заголовков запросов [1].

В вашем случае я предполагаю, что ваше приложение является первым и находится в том же домене верхнего уровня. Таким образом, ваше SESSION_DOMAIN значение будет, например .domain.com . Также вам также нужно установить SANCTUM_STATEFUL_DOMAINS=domain.com . Обычно у SESSION_DOMAIN вас будет только основной домен, который использует ваше приложение, в то время SANCTUM_STATEFUL_DOMAINS как у вас будут все поддомены (если таковые имеются), которые использует ваш интерфейс.

Ответ №2:

Для работы с Sanctum мы должны сначала ознакомиться с несколькими вещами. Мы должны использовать наш SPA и серверную часть API в том же домене, например, интерфейс на domain.com и API на api.domain.com . Мы не можем установить интерфейс на domain.com и бэкэнд (API) на another-domain.com . Клиент должен иметь возможность включать файлы cookie при каждом запросе, отправляемом на серверную часть.

домен сеанса — это имя домена внешнего интерфейса без протокола и порта.

Когда вы работаете на local, вы должны установить для него значение localhost, а когда вы работаете на сервере, вы должны установить имя домена.

пожалуйста, следуйте этому примеру nuxt-laravel-sanctum-auth

Комментарии:

1. Да, я понимаю это, но если домен серверной части — ничто (URL серверной части laravel sail буквально просто » localhost» ). Что я должен установить для ключа SESSION_DOMAIN, а также что я должен установить для моего интерфейса axios baseUrl?