我正在尝试在不会返回响应的函数中设置cookie。该函数是从中间件调用的。
中间件:
// Verify user
$userId = $userService->verify($email, $key);
if ($userId) {
$userService->authenticate($userId, $key);
return $next($request);
} else {
return response('Unauthorized', 401);
}
正在调用$ userService-> authenticate:
// Get user
$user = $this->getById($id);
// Get user zipcode
$user->zipcode = $this->getZipcodeById($id);
// Set session
Session::set('user', $user);
if (!Cookie::has('user_forever')) {
// SET COOKIE
}
我试图在身份验证中返回响应,但它无法正常工作。我无法让它发挥作用..所以我很感激所有的帮助!
提前致谢
答案 0 :(得分:2)
您可以将queue()
用作:
Cookie::queue('key', 'value', 10);
答案 1 :(得分:0)
according to docs您可以使用Cookie助手
生成Cookie实例$cookie = cookie('name', 'value', $minutes);
但除非将其附加到响应实例,否则不会将其发送回客户端。尝试从下面的中间件发送
$response = $next($request);
return $response->cookie($cookie);
未经测试的代码