我正在使用Laravel 5.4,我写了类似的内容:
Cookie::queue(
'refresh_token',
$data->refresh_token,
864000, // 10 days
null,
null,
false,
true // HttpOnly
);
return response('hello world');
返回的响应不包含return response('hello world')->withCookie(...)
时的refresh_token cookie。
Laravel 5.4文档不再像5.0 doc那样列出排队cookie。 这是否意味着在5.4版本中删除了该功能,或者我的代码中出错?
为了完整起见,我正在使用Dingo API包并且响应是精心设计的。
感谢您的帮助。
答案 0 :(得分:14)
我发现:
没有为api请求启用Cookie排队,这就是它无效的原因。
我必须添加相应文件的中间件部分:
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
相应的文件是App / Http / Kernel.php(使用Laravel API)或App / Config / api.php
答案 1 :(得分:0)
如果有人喜欢谷歌的方式,如果你在其创建中明确定义你的域变量,忘记删除" http:// "从它的第一个开始。 OP的情况并非如此,但这是我带到这里的原因。 ;)