Laravel 5.7 Auth :: loginUsingId()在生成CSRF令牌后无法正常工作

Mah*_*han 5 csrf-protection laravel laravel-5 laravel-5.7

我正在尝试在注册步骤的第2步自动登录用户.成功插入db后,我正在Auth::loginUsingId($user_id)使用ajax自动登录用户.我总是CSRF在每个步骤上提交令牌.

现在问题是在成功登录CSRF令牌生成后,Auth::user()在步骤3中变为空白

登录前后CSRF也不同.

Mar*_*łek 2

首先,使用非 GET 请求时需要 csrf 令牌,因此如果在您的情况下使用 GET 请求似乎合理,您可以使用它。

否则,在步骤 2 中,您应该返回新的 CSRF 令牌,如下所示:

Auth::loginUsingId($user_id);

return response()->json(['csrf_token' => csrf_token()];
Run Code Online (Sandbox Code Playgroud)

然后在步骤 3 中使用您从步骤 2 响应中获得的新令牌。