Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
vendor
/
laravel
/
jetstream
/
src
/
Http
/
Middleware
:
OtherBrowserSessionsController.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Laravel\Jetstream\Http\Controllers\Inertia; use Illuminate\Contracts\Auth\StatefulGuard; use Illuminate\Http\Request; use Illuminate\Routing\Controller; use Illuminate\Support\Facades\DB; use Illuminate\Validation\ValidationException; use Laravel\Fortify\Actions\ConfirmPassword; class OtherBrowserSessionsController extends Controller { /** * Log out from other browser sessions. * * @param \Illuminate\Http\Request $request * @param \Illuminate\Contracts\Auth\StatefulGuard $guard * @return \Illuminate\Http\RedirectResponse */ public function destroy(Request $request, StatefulGuard $guard) { $confirmed = app(ConfirmPassword::class)( $guard, $request->user(), $request->password ); if (! $confirmed) { throw ValidationException::withMessages([ 'password' => __('The password is incorrect.'), ]); } $guard->logoutOtherDevices($request->password); $this->deleteOtherSessionRecords($request); return back(303); } /** * Delete the other browser session records from storage. * * @param \Illuminate\Http\Request $request * @return void */ protected function deleteOtherSessionRecords(Request $request) { if (config('session.driver') !== 'database') { return; } DB::connection(config('session.connection'))->table(config('session.table', 'sessions')) ->where('user_id', $request->user()->getAuthIdentifier()) ->where('id', '!=', $request->session()->getId()) ->delete(); } }