当PHP global var $ _COOKIE有cookie

时间:2017-08-10 00:18:11

标签: laravel laravel-5.4

我正在尝试阅读Laravel5.4中的cookie。因此,在使用第三方授权服务器成功验证后,我获得了cookie。我没有在laravel5.4中制作cookie,但我正在阅读从view / frontend发送给我的cookie值。我可以在Chrome调试器环境以及PHP全局变量$ _COOKIE中看到cookie的值。它们都设置正确。

但是,当我尝试使用$ request-> cookie(' key')从控制器方法中读取相同的Cookie时...它什么都没显示。我也试过Cookie外观来读取价值,但仍然没有。此控制器正在处理重定向路由,该路由由第三方oauth服务器和此服务器在重定向到我的URL时调用,它还设置cookie。

我是不是在Laravel5.4的web.php文件中正确设置了这个重定向url路由?这就是它在web.php中的定义方式如下:

  

路线::得到('登录/ 1563 /回调&#39 ;,   '验证\的LoginController @ handleProviderCallback&#39);

我转储内容时请求对象为空,但$ _COOKIE有数据。

1 个答案:

答案 0 :(得分:4)

Laravel的cookie类加密和解密其cookie的值(参见App\Http\Middleware\EncryptCookies中间件)。当你看到它没有设置的cookie时,它会尝试(并且失败)来解密它。

如果您从Laravel外部获得了Cookie集,请使用$_COOKIE来处理它,或者将Cookie的名称添加到$except中的app/Http/Middleware/EncryptCookies.php数组中,这样就不会不要搞砸了。