Laravel没有在实时服务器上设置XSRF-Token cookie

时间:2018-12-19 13:47:19

标签: angular laravel x-xsrf-token

我使用Laravel 5.7.16和Angular2创建了一个应用,并且在我的本地主机上一切正常。

但是,在实时服务器上,提交帖子请求时出现“ 419错误”。经过研究,我得出结论,这可能是由于XSRF-TOKEN出现问题。然后,在比较本地主机和实时服务器上发生的情况时,我注意到实时服务器未在初始请求上设置XSRF-TOKEN cookie。

我没有在Angular2 HTTP发布请求中显式设置XSRF-TOKEN,但是据我了解,只要服务器端应用程序最初设置了XSRF-TOKEN cookie,Angular2就会自动执行此操作。

有人对我该如何解决有任何想法吗?

编辑:我刚刚尝试将我的一个应用程序发布路由添加到VerifyCsrfToken的$ except数组中,并且可以正常工作。但是,这更多是一种解决方法,而不是实际的解决方案。 有趣的是,在执行“允许”路由后,将返回XSRF-TOKEN,所有其他路由都将起作用。我认为这加强了这样的想法,即问题是在初始应用程序加载中未返回XSRF-TOKEN。为什么会这样?

谢谢。

2 个答案:

答案 0 :(得分:1)

您好,我在本地计算机上遇到了同样的问题。 未在浏览器上设置XSRF-TOKEN cookie。我尝试了以下步骤,问题得以解决。

  • 授予文件夹权限。 sudo chmod -R 777 storage bootstrap/cache
  • 清除配置和应用程序缓存。 php artisan cache:clear && php artisan config:clear

答案 1 :(得分:0)

尝试清除Laravel缓存

php artisan cache:clear

还要清除浏览器cookie,以确保尚未存储会话?