decodeKeys(); $share = SharedStudy::findOrFail($this->key); abort_if($share->hasExpired(), 404); if ($share->isPasswordProtected()) { return view('guest.shared-study.auth', compact('share')); } return view('guest.shared-study.show', compact('share')); } public function auth(SharedStudyPasswordRequest $request) { $this->decodeKeys(); $share = SharedStudy::findOrFail($this->key); abort_if(! $share->attempt($request->password), 403); } }