app->singleton(ResetPasswordController::class, function () { return new ResetPasswordController(); }); } /** * Bootstrap any application services. */ public function boot(): void { Fortify::loginView(function () { return view('auth.login'); }); Fortify::registerView(function () { return view('auth.register'); }); Fortify::verifyEmailView(function () { return view('auth.verify-email'); }); Fortify::authenticateUsing(function (Request $request) { $email = $request->input('email'); // Verifica se "@" já está presente no e-mail. Se não, adiciona "@isptgroup.com" ao final. if (!str_contains($email, '@')) { $email .= '@isptgroup.com'; } $password = $request->input('password'); $user = User::where('email', $email)->first(); if ($user && Hash::check($password, $user->password)) { return $user; } }); Fortify::createUsersUsing(CreateNewUser::class); Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class); Fortify::updateUserPasswordsUsing(UpdateUserPassword::class); RateLimiter::for('login', function (Request $request) { $email = (string) $request->email; return Limit::perMinute(5)->by($email . $request->ip()); }); RateLimiter::for('two-factor', function (Request $request) { return Limit::perMinute(5)->by($request->session()->get('login.id')); }); Fortify::resetUserPasswordsUsing(ResetUserPassword::class); Fortify::requestPasswordResetLinkView(function () { return view('auth.forgot-password'); }); $this->registerPasswordResetResponseBindings(); Fortify::resetPasswordView(function ($request) { return view('auth.reset-password', ['token' => $request->route('token')]); }); } protected function registerPasswordResetResponseBindings() { $this->app->singleton(SendPasswordResetLinkViewResponse::class, function () { return view('auth.forgot-password'); }); $this->app->singleton(ResetPasswordViewResponse::class, function () { return view('auth.reset-password'); }); } }