Laravel 5.4 - Cookie队列

时间:2017-07-19 04:26:05

标签: laravel cookies dingo-api

我正在使用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包并且响应是精心设计的。

感谢您的帮助。

2 个答案:

答案 0 :(得分:14)

我发现:

没有为api请求启用Cookie排队,这就是它无效的原因。

我必须添加相应文件的中间件部分:

\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,

相应的文件是App / Http / Kernel.php(使用Laravel API)或App / Config / api.php

答案 1 :(得分:0)

如果有人喜欢谷歌的方式,如果你在其创建中明确定义你的域变量,忘记删除" http:// "从它的第一个开始。 OP的情况并非如此,但这是我带到这里的原因。 ;)