提交表单时令牌不匹配



我目前在提交表单时遇到了一个问题。在我的开发环境中,所有工作都很好,但在在线部署时开始出现问题。任何表单提交都会触发419错误,在调试时,我发现从提交的表单生成的_token输入不同于会话令牌($request->session()->token()),考虑到它在我的开发环境中完美地工作,这是非常奇怪的。我的理论是,它应该与会话有关,但我不确定如何。

我的形式
<form method="POST" action="{{ route('login') }}">
@csrf
...
</form>

我能够在VerifyCsrfToken中间件中看到$request->input('_token')$request->session()->token()不同,这导致它抛出TokenMismatchException错误

有人知道这是怎么回事吗

问题来自于运行应用程序的pod中使用的不同应用程序密钥。这导致会话和缓存密钥不同。在应用程序之间使用相同的APP_KEY解决了这个问题。我在本地生成密钥并将其复制到服务器.env文件中。谢谢大家的帮助。

最新更新