You can logout other sessions.

This commit is contained in:
James Cole
2020-06-27 15:42:18 +02:00
parent b83d06294d
commit 1e35f0e7e3
8 changed files with 85 additions and 0 deletions

View File

@@ -86,6 +86,38 @@ class ProfileController extends Controller
$this->middleware(IsDemoUser::class)->except(['index']);
}
/**
*
*/
public function logoutOtherSessions()
{
//
return view('profile.logout-other-sessions');
}
/**
* @param Request $request
*
* @return \Illuminate\Contracts\Foundation\Application|RedirectResponse|Redirector
*/
public function postLogoutOtherSessions(Request $request)
{
$creds = [
'email' => auth()->user()->email,
'password' => $request->get('password'),
];
if (Auth::once($creds)) {
Auth::logoutOtherDevices($request->get('password'));
session()->flash('info', (string) trans('firefly.other_sessions_logged_out'));
return redirect(route('profile.index'));
}
session()->flash('error', (string) trans('auth.failed'));
return redirect(route('profile.index'));
}
/**
* Change your email address.
*

View File

@@ -44,6 +44,7 @@ use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode;
use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull;
use Illuminate\Foundation\Http\Middleware\ValidatePostSize;
use Illuminate\Routing\Middleware\ThrottleRequests;
use Illuminate\Session\Middleware\AuthenticateSession;
use Illuminate\View\Middleware\ShareErrorsFromSession;
use Laravel\Passport\Http\Middleware\CreateFreshApiToken;
use PragmaRX\Google2FALaravel\Middleware as MFAMiddleware;
@@ -90,6 +91,7 @@ class Kernel extends HttpKernel
ShareErrorsFromSession::class,
VerifyCsrfToken::class,
CreateFreshApiToken::class,
AuthenticateSession::class,
],
// only the basic variable binders.