Merubah redirect Logout pada Laravel Jetstream Stack Inertia

Thumbnail image

Pada kesempatan kali ini saya akan membagikan tutorial bagimana cara membuat custom redirect pada saat logout pada Laravel Jetstream Stack Inertia. 

Langkah pertama kita buat Class Terlebih dahulu dengan nama LogoutReseponse, pada kasus ini Class tersebut saya taruh di App\Http\Reseponses 

<?php
namespace App\Http\Responses;
use Laravel\Fortify\Contracts\LogoutResponse as LogoutReseponseContract;

class LogoutReseponse implements LogoutReseponseContract{


    public function toResponse($request)
    {
        return redirect('/login');
    }

}

Implements class LogoutReseponse yang kita bikin dengan “Laravel\Fortify\Contracts\LogoutResponse” 

Kemudian buat singleton di “App\Providers\FortifyServiceProvider” pada method boot() 

 

<?php

namespace App\Providers;

use App\Actions\Fortify\CreateNewUser;
use App\Actions\Fortify\ResetUserPassword;
use App\Actions\Fortify\UpdateUserPassword;
use App\Actions\Fortify\UpdateUserProfileInformation;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\ServiceProvider;
use Laravel\Fortify\Fortify;

class FortifyServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Fortify::createUsersUsing(CreateNewUser::class);
        Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class);
        Fortify::updateUserPasswordsUsing(UpdateUserPassword::class);
        Fortify::resetUserPasswordsUsing(ResetUserPassword::class);

        RateLimiter::for('login', function (Request $request) {
            return Limit::perMinute(5)->by($request->email.$request->ip());
        });

        RateLimiter::for('two-factor', function (Request $request) {
            return Limit::perMinute(5)->by($request->session()->get('login.id'));
        });

        $this->app->singleton(\Laravel\Fortify\Contracts\LogoutResponse::class,\App\Http\Responses\LogoutReseponse::class);
    }
}

 

Sekarang coba kita test untuk logout 

 

 

 

Redirect Logout sekarang ke login