middleware('auth')->except(['verify']); $this->middleware('signed')->only('verify'); $this->middleware('throttle:6,1')->only('verify', 'resend'); } /** * Mark the authenticated user's email address as verified. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function verify(Request $request) { $user = \App\Models\User::find($request->route('id')); if (!hash_equals((string) $request->route('hash'), sha1($user->getEmailForVerification()))) { return redirect()->route('home') ->with('error', 'Link verifikasi tidak valid.'); } if ($user->hasVerifiedEmail()) { return redirect()->route('home') ->with('verified', 'Email sudah terverifikasi sebelumnya. Silakan login.'); } if ($user->markEmailAsVerified()) { event(new Verified($user)); } if ($request->user()) { auth()->logout(); } return redirect()->route('home') ->with('verified', 'Email berhasil diverifikasi. Silakan login.'); } /** * Resend the email verification notification. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function resend(Request $request) { if ($request->user()->hasVerifiedEmail()) { return redirect()->route('home'); } $request->user()->sendEmailVerificationNotification(); return back()->with('resent', true) ->with('success', 'Link verifikasi telah dikirim ulang ke alamat email Anda.'); } /** * Show the email verification notice. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse|\Illuminate\View\View */ public function show(Request $request) { if ($request->user()->hasVerifiedEmail()) { return redirect($this->redirectPath()); } // Redirect to homepage with message instead of showing verification.notice view return redirect()->route('home') ->with('error', 'Silakan verifikasi email Anda terlebih dahulu. Link verifikasi telah dikirim ke alamat email Anda.') ->with('resend_link', true); } }