我正在使用 Laravel 5.4,我写了类似的内容:
Cookie::queue(
'refresh_token',
$data->refresh_token,
864000, // 10 days
null,
null,
false,
true // HttpOnly
);
return response('hello world');
返回的响应不包含refresh_token cookie,而return response('hello world')->withCookie(...)
does.
Laravel 5.4 文档不再像 5.0 文档那样说明排队 cookie。
这是否意味着该功能已在 5.4 版本中删除,或者我的代码是否有错误?
为了完整起见,我使用 Dingo API 包并精心设计了响应。
感谢您的帮助。
我找到:
没有为 api 请求启用 Cookie 队列,这就是它不起作用的原因。
我必须在适当文件的中间件部分添加:
protected $middleware = [
\App\Http\Middleware\TrustProxies::class,
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
//added below line at end of the array
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
];
打开文件App/Http/Kernel.php
添加行\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
in protected $middleware
上面代码片段中显示的数组并再次测试它现在应该可以工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)