authorize('manage', $vm); try { $session = $management->createConsoleSession($vm, $request->user()); } catch (\Throwable $e) { return view('vms.console-error', [ 'vm' => $vm, 'error' => $e->getMessage(), ]); } return view('vms.console', [ 'vm' => $vm, 'token' => $session['token'], 'wsUrl' => $session['ws_url'], 'expiresAt' => $session['expires_at'], ]); } public function show(Request $request, string $token, VmManagementService $management): View { $session = $management->getConsoleSession($token, $request->user()); $vm = Customer::query()->findOrFail($session['customer_id']); $this->authorize('view', $vm); return view('vms.console', [ 'vm' => $vm, 'token' => $token, 'wsUrl' => $session['ws_url'], 'expiresAt' => now()->addMinutes(5)->timestamp, ]); } }