我在 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('/');
}
Run Code Online (Sandbox Code Playgroud)
这是随后设置为的 cookie fb:
eyJpdiI6IkFROTRzU2ZhTGQwXC9DOHZoR3lqVDZnPT0iLCJ2YWx1ZSI6ImpqWE8wSVpDRzBzT1p2WGxPdE5pYlE9PSIsIm1hYyI6IjA5NzYxODQ0MmFkZmE2NDQ1YmU5Zjg2Y2NmNjU1N2RhZmVmNjcxZjJmYjhmZmViMWEwZGU5NTE5ZDYxMWY2ZjAifQ==
当然,我已经使用实际值进行了尝试,这就是为什么我现在恢复为测试值以查看发生了什么。我尝试清除所有 cookie 和缓存,并在 Chrome 和 Safari 中尝试。
为什么它总是设置 eyJ... 值而不是我告诉它的值?