因此,用户在一个选项卡上注销,而在另一个选项卡上,他仍“可视地”登录。
例如,现在,用户通过POST路由发送了一个Chat消息,但是服务器响应:
Request Method: POST
Status Code: 419
exception: "Symfony\Component\HttpKernel\Exception\HttpException"
原因是CSFR值为false,因为用户已注销。
我希望得到与GET Request方法相同的响应。
我得到了:
Request Method: GET
Status Code: 401
message: "Unauthenticated."
因为用户不再经过身份验证。 (中间件设置为“认证”)
我为什么需要这个?
我想用axios捕获故障,并检查用户是否未经身份验证。如果是这样,则重新加载页面。
但是现在我不知道用户是否未经身份验证,或者他是否试图利用我的页面,但是具有错误的csrf令牌。
答案 0 :(得分:1)
Handler.php中的当前解决方案
if ($exception instanceof TokenMismatchException){
return $request->expectsJson()
? response()->json(['message' => 'Invalid CSRF.'], 400)
: abort(400);
}