如果我使用 Laravel Sail,我应该使用什么 SESSION_DOMAIN?

What SESSION_DOMAIN should I use if I'm using Laravel Sail?

我想使用 Nuxt.js 作为我的前端和 laravel sanctum 作为我的后端身份验证提供程序。我应该如何在我的 laravel 项目的 .env 文件中设置 SESSION_DOMAIN 键。

我是否还应该编辑 nuxt.config.js 文件中服务器对象部分的任何内容才能使其正常工作?

要使用Sanctum,我们首先要熟悉一些东西。我们必须在同一域上使用我们的 SPA 和 API 后端,例如 domain.com 上的前端和 api.domain.com 上的 API。我们不能在 domain.com 上设置前端,在另一个 domain.com 上设置后端 (API)。客户端必须能够在每个发送到后端的请求中包含 cookie。

session域为前端域名,不带协议和端口

当您在本地工作时,您必须将其设置为本地主机,而当您在服务器上工作时,您必须设置域名。

请按照nuxt-laravel-sanctum-auth

的这个例子

当您将 Sanctum 与 SPA 一起使用时,例如 Nuxt,您可以选择使用 API or cookies/sessions. If your application is a first-party application on same top level domain, Laravel recommends to use cookie based approach so you can take advantage of CSRF protection. Axios and Angular Http libraries handles CSRF out of the box, so you don't have to worry too much about handling the requests headers [1]

就您而言,我假设您的应用程序是第一方并且位于同一顶级域中。例如,您的 SESSION_DOMAIN 值将是 .domain.com。此外,您还需要设置 SANCTUM_STATEFUL_DOMAINS=domain.com 。通常你的 SESSION_DOMAIN 将只有你的应用程序使用的主域,而 SANCTUM_STATEFUL_DOMAINS 将有你的前端使用的所有子域(如果有的话)。