我正在尝试在注册步骤的第 2 步自动登录用户。成功插入数据库后,我使用 Auth::loginUsingId($user_id) 来使用 ajax 自动登录用户。
我总是在每个步骤中提交 CSRF
token 。
现在的问题是在成功登录 CSRF
token 生成后,Auth::user()
在第 3 步变为空白
登录前后的CSRF
也是不同的。
最佳答案
首先,使用非 GET 请求时需要 csrf token ,因此如果在您的情况下使用 GET 请求似乎合理,您可以使用它。
否则,在第 2 步中,您应该返回新的 CSRF token ,如下所示:
Auth::loginUsingId($user_id);
return response()->json(['csrf_token' => csrf_token()];
然后在第 3 步中使用您从第 2 步响应中获得的新 token 。
关于Laravel 5.7 Auth::loginUsingId() 在生成 CSRF token 后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53745839/