app->instance(LoginResponseContract::class, new LoginResponse()); $this->app->instance( TwoFactorLoginResponseContract::class, new TwoFactorLoginResponse(), ); $this->app->instance( LogoutResponseContract::class, new LogoutResponse(), ); $this->app->instance( RegisterResponseContract::class, new RegisterResponse(), ); } public function boot() { Fortify::createUsersUsing(FortifyRegisterUser::class); Fortify::resetUserPasswordsUsing(ResetUserPassword::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::authenticateUsing(function (Request $request) { return (new ValidateLoginCredentials())->execute($request); }); } }