2016-11-03 67 views
2

我想设置一个不会返回响应的函数的cookie。该功能是从中间件调用的。设置一个cookie在Laravel 5+没有回应

中间件:

// Verify user 
     $userId = $userService->verify($email, $key); 
     if ($userId) { 
      $userService->authenticate($userId, $key); 

      return $next($request); 
     } else { 
      return response('Unauthorized', 401); 
     } 

被调用$ userService->验证:

// 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 
    } 

我曾试图返回身份验证的回应,但它doen't工作。我无法让它工作..所以我赞赏所有的帮助!

在此先感谢

回答

2

您可以使用queue()为:

Cookie::queue('key', 'value', 10); 
+0

该死的,我读了饼干::队列在Laravel 5删除,但可以肯定的作品!谢谢 – Glidarn

0

according to docs您可以使用cookie帮助生成一个cookie实例,

$cookie = cookie('name', 'value', $minutes); 

但它不会被发送回到客户端,除非它连接到响应实例。尝试从中间件发送类似下面

$response = $next($request); 

return $response->cookie($cookie); 

未经测试的代码