【发布时间】:2018-10-18 16:55:52
【问题描述】:
我在 Laravel 5.6 中设置 cookie 时遇到问题。我目前正在使用 Facebook 登录,除了访问令牌无法正确存储在 Cookie 中之外,一切都按预期工作。出于某种原因,它一直存储一个我不熟悉的值,我不知道为什么。
为了测试这一点,我修改了我的回调函数以设置一个测试 cookie,并且发生了相同的行为。
这是我正在调用的路线:
Route::get('{provider}/callback', 'Auth\LoginController@handleProviderCallback');
这是我的 handleProviderCallback 方法:
public function handleProviderCallback(string $provider)
{
Cookie::queue(Cookie::make('fb', 'test', 1000, '/', config('session.domain'), config('session.secure'), config('session.http_only')));
return redirect('/');
}
这里是设置为fb的cookie:
eyJpdiI6IkFROTRzU2ZhTGQwXC9DOHZoR3lqVDZnPT0iLCJ2YWx1ZSI6ImpqWE8wSVpDRzBzT1p2WGxPdE5pYlE9PSIsIm1hYyI6IjA5NzYxODQ0MmFkZmE2NDQ1YmU5Zjg2Y2NmNjU1N2RhZmVmNjcxZjJmYjhmZmViMWEwZGU5NTE5ZDYxMWY2ZjAifQ==
当然,我已经尝试过使用实际值,这就是为什么我现在恢复到只是一个测试值来看看发生了什么。我已尝试清除所有 cookie 和缓存,并在 Chrome 和 Safari 中尝试过。
为什么它总是设置一个 eyJ... 值而不是我告诉它的值?
【问题讨论】:
标签: php laravel cookies laravel-5.6