Удаление файла cookie в Laravel

#php #laravel #cookies #laravel-7

#php #laravel #файлы cookie #laravel-7

Вопрос:

У меня возникла проблема с удалением файла cookie в laravel. Я устанавливаю файл cookie при входе в систему как ‘sessionToken’, и как только пользователь выходит из системы, я очищаю сеанс, обновляю столбец sessionToken до null и забываю файл cookie. Тем не менее, я все еще вижу файл cookie, когда использую «document.cookie» в консоли браузера.

Как я могу уничтожить этот файл cookie и его значение? Я чувствую, что это ненормальное поведение, но я могу ошибаться.

 public function logout(Request $request, User $_id)
{
    
    Auth::logout();

    $user = User::where('id', $request->$_id)->first();
    $user->sessionToken = null;
    $user->save();

    Session::flush();

    Cookie::queue(Cookie::forget('sessionToken'));

    return redirect()->route('cookie-login')->withCookie(Cookie::forget('sessionToken'));
    
}
  

Ответ №1:

После долгих поисков я нашел обходной путь для удаления файла cookie. Установка значения в пустую строку полностью удаляет cookie из окна браузера.

 $cookieValue = '';

Cookie::queue(Cookie::make('cookie', $cookieValue)) 
  

Ответ №2:

Вы также можете сделать это, это удалило файл cookie из браузера.

 Cookie::queue(Cookie::forget('name'));