You can use the Request
parameter, containing the current session. This way you can delete any session value by the key:
use Illuminate\Http\Request;
Route::get('/logout', function(Request $request) {
//Uncomment to see the logs record
//\Log::info("Session before: ".print_r($request->session()->all(), true));
if ($request->session()->has('key')) {
$request->session()->forget('key');
}
//Uncomment to see the logs record
//\Log::info("Session after: ".print_r($request->session()->all(), true));
return redirect('/');
});
Or you can delete all values in the session:
use Illuminate\Http\Request;
Route::get('/logout', function(Request $request) {
//Uncomment to see the logs record
//\Log::info("Session before: ".print_r($request->session()->all(), true));
$request->session()->flush();
//Uncomment to see the logs record
//\Log::info("Session after: ".print_r($request->session()->all(), true));
return redirect('/');
});
Reference: https://laravel.com/docs/5.3/session#using-the-session