簡體   English   中英

Laravel Auth::logout 不刪除記住我的 cookie

[英]Laravel Auth::logout not removing remember me cookie

因此,我將會話的生命周期設置為兩周,這樣用戶就不必多次登錄或注銷。 但是今天我注意到了一些事情,如果您注銷它會破壞您的會話,但會在您的瀏覽器上保留記住我的 cookie。 這會導致問題,因為如果您在同一台計算機上切換帳戶 8-10 次,您會收到 400 bad request 錯誤,因為您發送的信息太多。 現在 8-10 次在一個 cookie 的正常生命周期中有點牽強,但是當你的生命周期是兩周時,我遇到了問題。

這是登錄和退出幾次背靠背時發生的情況的屏幕截圖。在此處輸入圖像描述 用戶注銷時如何刪除生命周期 cookie? 到目前為止我已經嘗試過

    Auth::logout();
    Session::flush();

似乎 cookie 不會自動取消設置。 但是,您可以在注銷后返回重定向響應之前在控制器中執行此操作。

public function getLogout() {
    // your code here
    .....
    // Get remember_me cookie name
    $rememberMeCookie = Auth::getRecallerName();
    // Tell Laravel to forget this cookie
    $cookie = Cookie::forget($rememberMeCookie);

    return Redirect::to('/')->withCookie($cookie);
}

只要記住用重定向返回cookie,否則它將不起作用。

就我而言,我需要傳遞所有參數,而不僅僅是名稱。

\Cookie::queue(\Cookie::forget('cookieName',null,'.yourdomain.com'));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM