Laravel sancutum csrf cookie设置问题“尝试通过Set-Cookie标头设置cookie被阻止,因为其域属性...”

2fjabf4q  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(619)

我有一个问题与Laravel Sanctum CSRF Cookie的。我运行一个API与Laravel 8在一个子域:api.domain.nl和一个在domain.nl上有NuxtJS的前端现在我想api.domain.nl用一个在前端设置的CSRF cookie来保护发往www.example.com的POST请求。为了实现这个目的,我读了关于Laravel Sanctum的文章。现在我发送一个POST请求到api.domain.nl/api/sanctum/csrf-cookie,它返回一个204状态并尝试做一个SET-COOKIE头。在localhost上,这个方法很好用。2但是每当我在我的服务器上做的时候,我会得到这个错误:

This attempt to set a cookie via a Set-Cookie header was blocked because its Domain attribute was invalid with regards to the current host URL

现在我确实读到一些其他人遇到了这个问题。它与您的Laravel .env有关。我尝试了SESSION_DOMAINSANCTUM_STATEFUL_DOMAINS的所有方法,但老实说,我毫无头绪,因为它一直给我同样的错误。现在,我有这样的错误:

SESSION_DOMAIN=.domain.nl
SANCTUM_STATEFUL_DOMAIN=api.domain.nl
  • (当然域替换为我使用的域)*

希望有人能解决这个问题!

vx6bjr1n

vx6bjr1n1#

您是否尝试运行php artisan optimize:clear以确保Laravel未引用旧配置?

zvms9eto

zvms9eto2#

它真的可以在本地环境中使用下面的.env设置吗?

SANCTUM_STATEFUL_DOMAIN=api.domain.nl

我猜这个SANCTUM_STATEFUL_DOMAIN应该是您的前端URL。

SANCTUM_STATEFUL_DOMAIN=http://domain.nl

我希望这能奏效。

相关问题