FortifyServiceProvider.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace App\Providers;
  3. use App\Actions\Fortify\CreateNewUser;
  4. use App\Actions\Fortify\ResetUserPassword;
  5. use App\Actions\Fortify\UpdateUserPassword;
  6. use App\Actions\Fortify\UpdateUserProfileInformation;
  7. use Illuminate\Cache\RateLimiting\Limit;
  8. use Illuminate\Http\Request;
  9. use Illuminate\Support\Facades\RateLimiter;
  10. use Illuminate\Support\ServiceProvider;
  11. use Laravel\Fortify\Fortify;
  12. class FortifyServiceProvider extends ServiceProvider
  13. {
  14. /**
  15. * Register any application services.
  16. *
  17. * @return void
  18. */
  19. public function register()
  20. {
  21. //
  22. }
  23. /**
  24. * Bootstrap any application services.
  25. *
  26. * @return void
  27. */
  28. public function boot()
  29. {
  30. Fortify::createUsersUsing(CreateNewUser::class);
  31. Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class);
  32. Fortify::updateUserPasswordsUsing(UpdateUserPassword::class);
  33. Fortify::resetUserPasswordsUsing(ResetUserPassword::class);
  34. RateLimiter::for('login', function (Request $request) {
  35. return Limit::perMinute(5)->by($request->email.$request->ip());
  36. });
  37. RateLimiter::for('two-factor', function (Request $request) {
  38. return Limit::perMinute(5)->by($request->session()->get('login.id'));
  39. });
  40. }
  41. }