CSRF _token值以登录形式刷新

时间:2015-03-17 16:14:51

标签: ajax session laravel csrf laravel-5

我有一个用Ajax提交的登录表单。在一个特定情况下,在用户登录后,我需要使用Auth::logout()将其注销并显示其他模式框。所有这一切都发生在没有页面重新加载的情况下。

当打开并再次提交登录模式时,我收到令牌不匹配错误。发生这种情况的原因是因为注销使用Session::flush()。在此之后,_token会话变量被刷新,而登录表单中的_token输入保持不变(因为提到缺少页面重新加载)。

如何在登录表单中刷新CSRF _token,以便它以安全的方式匹配会话中刷新的内容?

1 个答案:

答案 0 :(得分:3)

当您通过ajax提交登录时,您的服务器可能会发回某种响应,让浏览器知道登录成功。您应该使用此响应发送回新的CSRF令牌,以便您可以更新客户端表单(使用javascript)。

要提供更多详细信息(例如,如何更新表单字段),我们需要查看更多代码。

相关问题