Advertisement
agungpf16

FortifyServiceProvider.php

Oct 6th, 2023
1,513
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.73 KB | Help | 0 0
  1. <?php
  2.  
  3. namespace App\Providers;
  4.  
  5. use Inertia\Inertia;
  6. use Illuminate\Http\Request;
  7. use Laravel\Fortify\Fortify;
  8. use App\Actions\Fortify\CreateNewUser;
  9. use Illuminate\Support\ServiceProvider;
  10. use Illuminate\Cache\RateLimiting\Limit;
  11. use App\Actions\Fortify\ResetUserPassword;
  12. use App\Actions\Fortify\UpdateUserPassword;
  13. use Illuminate\Support\Facades\RateLimiter;
  14. use App\Actions\Fortify\UpdateUserProfileInformation;
  15. use App\Http\Responses\LogoutResponse;
  16.  
  17. class FortifyServiceProvider extends ServiceProvider
  18. {
  19.     /**
  20.      * Register any application services.
  21.      *
  22.      * @return void
  23.      */
  24.     public function register()
  25.     {
  26.         //
  27.     }
  28.  
  29.     /**
  30.      * Bootstrap any application services.
  31.      *
  32.      * @return void
  33.      */
  34.     public function boot()
  35.     {
  36.         Fortify::createUsersUsing(CreateNewUser::class);
  37.         Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class);
  38.         Fortify::updateUserPasswordsUsing(UpdateUserPassword::class);
  39.         Fortify::resetUserPasswordsUsing(ResetUserPassword::class);
  40.  
  41.         RateLimiter::for('login', function (Request $request) {
  42.             $email = (string) $request->email;
  43.  
  44.             return Limit::perMinute(5)->by($email . $request->ip());
  45.         });
  46.  
  47.         RateLimiter::for('two-factor', function (Request $request) {
  48.             return Limit::perMinute(5)->by($request->session()->get('login.id'));
  49.         });
  50.  
  51.         //login
  52.         Fortify::loginView(function () {
  53.             return Inertia::render('Auth/Login');
  54.         });
  55.  
  56.         /**
  57.          * logout
  58.          */
  59.         $this->app->singleton(\Laravel\Fortify\Contracts\LogoutResponse::class, \App\Http\Responses\LogoutResponse::class);
  60.     }
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement