我使用 Laravel 8 作为后端,并尝试将我的身份验证 token 存储在 cookie 中。 我想在我的 Controller 响应中设置该 cookie,我正在尝试这种方式:
return response()->cookie('token', $tokenResult->accessToken, 10000);
这里的问题是 Laravel 找不到 cookie 方法。 根据 Laravel 8 文档,cookie() 是 ResponseTrait 的一个方法,但 Laravel 试图从 Macroable 特征中获取它:
BadMethodCallException: Method Illuminate\Routing\ResponseFactory: :cookie does not exist. in file /var/www/html/t2t-api/vendor/laravel/framework/src/Illuminate/Macroable/Traits/Macroable.php
我该如何解决这个问题?谢谢。
附注 如果我像这样向response()添加一个参数,它似乎可以工作:
return response('Hello World')->cookie('token', $tokenResult->accessToken, 10000);
但我需要一个 JSON 响应而不是这个。
最佳答案
您应该在新的\Illuminate\Http\Response 上使用 cookie
$response = new \Illuminate\Http\Response();
return $response->cookie("name","value",360);
关于php - Laravel 8 - 设置 cookie 响应不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73370580/