我有一个问题与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_DOMAIN和SANCTUM_STATEFUL_DOMAINS的所有方法,但老实说,我毫无头绪,因为它一直给我同样的错误。现在,我有这样的错误:
SESSION_DOMAIN=.domain.nl
SANCTUM_STATEFUL_DOMAIN=api.domain.nl
- (当然域替换为我使用的域)*
希望有人能解决这个问题!
2条答案
按热度按时间vx6bjr1n1#
您是否尝试运行
php artisan optimize:clear
以确保Laravel未引用旧配置?zvms9eto2#
它真的可以在本地环境中使用下面的.env设置吗?
我猜这个SANCTUM_STATEFUL_DOMAIN应该是您的前端URL。
我希望这能奏效。